Flouter les images

Aller en bas

Flouter les images Empty Flouter les images

Message  Gus le Ven 8 Juil - 21:33

Je vais vous montrer ici une manière simple de flouter les images. Il s'agit en fait de prolonger la couleurs des pixel sur une longueur de 7 dans le sens horizontal ou vertical pour donner une sensation de brouillage de l'image.

Image originale :
Flouter les images Mononoke_original

gus.image.transform.rendered.color.blurvertical
Code:
package gus05.entity.gus.image.transform.rendered.color.blurvertical;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;

public class ImageColorBlurVertical implements Entity, Transform {

    public String getName()            {return "gus.image.transform.rendered.color.blurvertical";}
    public String getCreationDate()      {return "2011.07.07";}

    public static final int LIMIT = 7;
   
    private Service toBufferedImage;
   
    public ImageColorBlurVertical() throws Exception
    {toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");}

    public Object transform(Object obj) throws Exception
    {
       BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
       int width = image.getWidth();
       int heigth = image.getHeight();
       
       BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
       Graphics2D g = buffImg.createGraphics();

       int q = 0;
       int rgb = 0;
       
       for(int i=0;i<width;i++)      
       {
          q = 0;
          for(int j=0;j<heigth;j++)
          {
             if(q==0) rgb = image.getRGB(i,j);
             q++;if(q==LIMIT) q = 0;
             Color c = new Color(rgb);
             g.setColor(c);
             g.drawRect(i,j,1,1);
          }
       }
       g.dispose();
       return buffImg;
    }
}
Flouter les images Mononoke_verticalblur

gus.image.transform.rendered.color.blurhorizontal
Code:
package gus05.entity.gus.image.transform.rendered.color.blurhorizontal;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;

public class ImageColorBlurHorizontal implements Entity, Transform {

    public String getName()            {return "gus.image.transform.rendered.color.blurhorizontal";}
    public String getCreationDate()      {return "2011.07.07";}

    public static final int LIMIT = 7;
   
    private Service toBufferedImage;
   
    public ImageColorBlurHorizontal() throws Exception
    {toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");}

    public Object transform(Object obj) throws Exception
    {
       BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
       int width = image.getWidth();
       int heigth = image.getHeight();
       
       BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
       Graphics2D g = buffImg.createGraphics();

       int q = 0;
       int rgb = 0;
       
       for(int j=0;j<heigth;j++)   
       {
          q = 0;
          for(int i=0;i<width;i++)
          {
             if(q==0) rgb = image.getRGB(i,j);
             q++;if(q==LIMIT) q = 0;
             Color c = new Color(rgb);
             g.setColor(c);
             g.drawRect(i,j,1,1);
          }
       }
       g.dispose();
       return buffImg;
    }
}
Flouter les images Mononoke_horizontalblur
Gus
Gus
Admin

Messages : 249
Date d'inscription : 01/09/2009

Voir le profil de l'utilisateur http://www.gus05.com

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum