Hallo,
ich ziehe Informationen in einem Wertebereich zwischen 0 und 1 aus einer Matrix, aus denen ich ein Bild erzeuge. Diese multipliziere ich mit 255 um auf die gewünschten 8bit zu kommen, die der Typ BufferedImage.TYPE_INT_RGB erwartet.
Probleme:
Wie übergebe ich den Wert für alle drei Kanäle (hätte das gerne zwischen 0 und 255 als Graustufen)? Die Methode erwartet image.setRGB(x,y,int), wie aber übergebe ich die anderen Werte wenn ich ein Farbbild generieren möchte?
Das Bild das ausgegeben wird enthält andere Werte als die, die ich übergebe. Das größte Problem besteht aber darin, dass die Pixel in horizontaler Richtung vom Wert identisch sind!!!??? Auch diese Werte werden korrelt übergeben!! Irgendeine Idee?
Anbei der Code der die Matrix durchläuft und die Pixel setzt:
Hier das Bild das erzeugt wird:
http://www.fotocommunity.de/pc/pc/display/12307672
vielen Dank für Eure Hilfe
Daniel
ich ziehe Informationen in einem Wertebereich zwischen 0 und 1 aus einer Matrix, aus denen ich ein Bild erzeuge. Diese multipliziere ich mit 255 um auf die gewünschten 8bit zu kommen, die der Typ BufferedImage.TYPE_INT_RGB erwartet.
Probleme:
Wie übergebe ich den Wert für alle drei Kanäle (hätte das gerne zwischen 0 und 255 als Graustufen)? Die Methode erwartet image.setRGB(x,y,int), wie aber übergebe ich die anderen Werte wenn ich ein Farbbild generieren möchte?
Das Bild das ausgegeben wird enthält andere Werte als die, die ich übergebe. Das größte Problem besteht aber darin, dass die Pixel in horizontaler Richtung vom Wert identisch sind!!!??? Auch diese Werte werden korrelt übergeben!! Irgendeine Idee?
Anbei der Code der die Matrix durchläuft und die Pixel setzt:
Code:
for (x_dir = 0; x_dir < valuematrix.length; ++x_dir) {
for (y_dir = 0; y_dir < valuematrix[x_dir].length; ++y_dir) {
rgb_f = valuematrix[x_dir][y_dir].getIntense();
if (rgb_f < 0) {
rgb_f = 0;
}
if (rgb_f > 1) {
rgb_f = 1f;
}
rgb_f = rgb_f * 255;
rgb = (int) rgb_f;
System.out.println("x_y_rgb " + x_dir +" "+ y_dir + " " + rgb + " " + rgb_f);
image.setRGB(x_dir, y_dir, rgb);
}// end for 1
}// end for 2
Hier das Bild das erzeugt wird:
http://www.fotocommunity.de/pc/pc/display/12307672
vielen Dank für Eure Hilfe
Daniel