Hallo liebe Leute,
ich arbeite gerade im Rahmen eines privaten Spielchens an einem sich zufällig erstelltendem Terrain welches auf Basis von Perlin Noise geschieht. Wenn alles erfolgreich durch ist wird das Ganze auf einem JPanel ausgegeben. Nun habe ich davon "versucht" ein Bufferedimage aufzunehmen, die Farbwerte der Pixel ausgelesen und in ein Array zur weiteren Verarbeitung gespeichert.
Wie man sich denken kann funktioniert das nicht ganz, da ich ein Array komplett mit 0len bestückt herausbekomme. Auf dem JPanel wird das Bild wie ich es habe angezeigt, dan wird das Abbild genommen, woraufhin aus diesem Abbild die Pixel entnommen werden sollen. wenn ich das aufgenommene Bild ausgebe zeigt sich das dieses schwarz ist. Was habe ich falsch gemacht!?
Dankbar für Jede Hilfe, Gruß und raus.
ich arbeite gerade im Rahmen eines privaten Spielchens an einem sich zufällig erstelltendem Terrain welches auf Basis von Perlin Noise geschieht. Wenn alles erfolgreich durch ist wird das Ganze auf einem JPanel ausgegeben. Nun habe ich davon "versucht" ein Bufferedimage aufzunehmen, die Farbwerte der Pixel ausgelesen und in ein Array zur weiteren Verarbeitung gespeichert.
Wie man sich denken kann funktioniert das nicht ganz, da ich ein Array komplett mit 0len bestückt herausbekomme. Auf dem JPanel wird das Bild wie ich es habe angezeigt, dan wird das Abbild genommen, woraufhin aus diesem Abbild die Pixel entnommen werden sollen. wenn ich das aufgenommene Bild ausgebe zeigt sich das dieses schwarz ist. Was habe ich falsch gemacht!?
Java:
{
paint();
for(int i=0; i<img.getHeight(); i++){
for(int j=0; j<img.getHeight(); j++){
int[] array = img.getData().getPixel(i, j, (int[]) null);
System.out.print(" "+array[1]);
}
System.out.println();
}
}
public void paint(){
Graphics2D g2d = (Graphics2D) this.getContentPane().getGraphics();
RenderingHints hint = new RenderingHints( RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON );
g2d.setRenderingHints( hint );
perlinPaint = new PerlinPaint( java.awt.Color.white,java.awt.Color.black, g2d.getTransform().getScaleInstance(.025,.025));
g2d.setPaint( perlinPaint );
g2d.fillRect(0,0,200,200);
img = new BufferedImage(this.getContentPane().getSize().width,this.getContentPane().getSize().height,BufferedImage.TYPE_INT_RGB);
}
Dankbar für Jede Hilfe, Gruß und raus.