# Bildinformation in ein Array laden



## Blinda (12. Dez 2010)

Hallo an alle,

Ich würde gerne ein Bild also eine Bilddatei einlesen und diese in Werte umwandeln vielleicht jedes einzelne Pixel, die ich in ein Array abspeichern kann ich denke ein 2 Dimensionales Array würde es tun...leider hab ich überhaupt keinen Ansatz und wäre für Hilfe dankbar.

Liebe Grüße

Linda


----------



## XHelp (12. Dez 2010)

Was willst du mit einem 2d Array? Was soll es denn enthalten?
Was willst du nach dem Lesen mit dem Bild anstellen?


----------



## Blinda (12. Dez 2010)

also ich muss die das Bild spiegeln und soll das mit einem Array machen...wie weiß ich auch nicht...meine Idee war es die Bildinformation, farbwerte in ein Array zu packen z.b Array [x][y] und die Werte am ende zu vertauschen...sprich Array [y][x]


----------



## XHelp (12. Dez 2010)

Hast du schon mal nach "java bild spiegeln" gesucht? Selbst hier im Forum müssten Themen zu finden sein.


----------



## Blinda (12. Dez 2010)

ja das hab ich schon gemacht aber die bringen mich nicht weiter, ich hab schon die ganze zeit rum probiert und so langsam werd ich verrückt :noe: ... weiß denn keiner einen einfachen simplen noch nichteinmal Formschönen Codeschnipsel der mir in irgendeinerweise helfen kann ;(


----------



## XHelp (12. Dez 2010)

Wie wär's mit http://www.java-forum.org/spiele-multimedia-programmierung/76916-bild-spiegeln.html#post471720


----------



## Blinda (12. Dez 2010)

ich soll MUSS es mit arrays machen ! ! ! ueh:

bin jetzt aber erstmal im bett, wenn jmd mir wirklich helfen kann würde ich mich freuen.


----------



## LadyMilka (13. Dez 2010)

Wobei hast du denn jetzt genau Probleme? Beim speichern der Werte in ein Array oder beim Auslesen?

Wenn du beim auslesen nur x und y vertauscht ist es nicht gespiegelt sonder gedreht und gespiegelt.


```
x y      y x
1 2 3   1 4 7 +
4 5 6   2 5 8 *
7 8 9   3 6 9 #
+ * #
```


----------



## Blinda (13. Dez 2010)

Ich weiß nicht wie ich es anstelle ein bild ein zu lesen, damit es kompatibel ist um es in ein Array zu speichern...und natürlich weiß ich auch nicht wie der Befehl lautet die information ans Array zu übergeben.


----------



## LadyMilka (13. Dez 2010)

Du müsstest das Bild Pixel für Pixel einlesen, den Farbwert (vozugsweise als hex-wert) ermitteln und diesen in dein Array speichern. dabei bietet es sich an Zeilenweise vorzugehen.

Den Rest, wirst du sicher mittels Google und/oder Forensuche finden.


----------



## Final_Striker (13. Dez 2010)

Welches Format haben denn die Bilder?


----------



## Blinda (13. Dez 2010)

Jpg


----------



## Final_Striker (13. Dez 2010)

hier mal ein kleines Beispiel von tutorial.de


```
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

public class ImagePixelReader  {

	public static void main(String[] args) throws IOException {

		 BufferedImage img = ImageIO.read(new File("c:/meinBild.jpg"));
	        
	        //Pixelfarbe an stelle x=50, y=50
	        int rgb = img.getRGB(50, 50);
	        Color c = new Color(rgb);
	        System.out.println("Red: " + c.getRed());
	        System.out.println("Green: " + c.getGreen());
	        System.out.println("Blue: " + c.getBlue());
	}
}
```

Jetzt kannst du es weiter ausbauen und deinen Anforderungen anpassen.


----------



## homer65 (13. Dez 2010)

Ich habe einen IconEditor programmiert. Der macht genau das: Ein Bild einlesen und dann als Array speichern.
Wenn es dich interessiert, kannst du dir es ja mal angucken:
http://www.edv-ehm.de/IconEditor
Der komplette Quellcode ist dabei.


----------



## mariusbopp (13. Dez 2010)

guck mal hier da will jemand 2 bilder in ein array schreiben und pixel für pixel vergleichen... da hast du doch schonmal den anfang wie du es in den array bekommst!


----------

