bildbearbeitung

tovermodus

Mitglied
hallo ich habe ein problem :
ich würde gerne die pixelfarbe von einzelnen pixelnin einem foto ändern aber nicht in komplett andere farben sondern nur den rot wert. ich habe bis jetzt allerdings noch keine derartigen befehle gefunden.
ich möchte sie so ändern das man sie später mit dem originalbild vergleichen und die unterschiede erkennen kann was auch ziemlich gut klappt. hat jemand erfahrung damit? ich bedanke mich schonmal im vorraus tovermodus.
 

tovermodus

Mitglied
genau das ist mein problem man muss einen 3-stelligen integer angeben. aber da ich ja einen wert davon verändern will muss ich ja darauf zugreifen und die werte neu zuweisen

Java:
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;


import javax.imageio.ImageIO;


public class Main 
{
static int y;
static int x;
static int a=0;
static int b=0;
    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        BufferedImage img = ImageIO.read(new File("c:/test.jpg"));
        BufferedImage jpg = ImageIO.read(new File("c:/test2.jpg"));
        
            for(x=0;x<=2591;x++)
            {
                for(y=0;y<=1943;y++)
                {

                   int xyz = img.getRGB(x, y);
                   int yxz = jpg.getRGB(x, y);
        

                   Color c = new Color(xyz);
                   Color d = new Color(yxz);
        
        
                    int rotC=c.getRed();
                    int rotD=d.getRed();
                    int blauC=c.getBlue();
                    int blauD=d.getBlue();
                    int grünC=c.getGreen();
                    int grünD=d.getGreen();
        
       
                   img.setRGB(x, y, xyz);        
                }
            }
    }
}
 

tovermodus

Mitglied
ich hab es jetzt geschafft indem ich zuerst eine neuen Color erstellt habe wovon man die rgb werte einzeln eingeben dort habe ich es mit den ausgelesenen farbwerten der pixel reingeschrieben und einen wert verändert kann mir davon die rgb werte zurückgeholt und verwendet

Java:
            for(x=0;x<=2591;x++){
            for(y=0;y<=1943;y++){

        int xyz = img.getRGB(x, y);
        int yxz = jpg.getRGB(x, y);
        

        Color c = new Color(xyz);
        Color d = new Color(yxz);                
        int rotC=c.getRed();
        int rotD=d.getRed();
        int blauC=c.getBlue();
        int blauD=d.getBlue();
        int grünC=c.getGreen();
        int grünD=d.getGreen();
        Color g = new Color(rotC+b,blauC,grünC);
        int rgb=g.getRGB();
 

Ähnliche Java Themen

Neue Themen


Oben