ich eine ganze Reihe von RGB-Pixeln, die etwa so aussieht:erstellen eine gepufferte Bild von RGB-Pixelwerte
pixels[0] = <rgb-value of pixel(0,0)>
pixels[1] = <rgb-value of pixel(1,0)>
pixels[2] = <rgb-value of pixel(2,0)>
pixels[3] = <rgb-value of pixel(0,1)>
...etc...
Und ich versuche zu erstellen BufferedImage von ihm. Ich habe folgendes versucht:
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
img.getRaster().setPixels(0, 0, width, height, pixels);
Aber das resultierende Bild hat Probleme mit den Farbbändern. Das Bild ist unklar und es gibt diagonale und horizontale Linien.
Was ist der richtige Weg, um das Bild mit den RGB-Werten zu initialisieren?
EDIT: Hier ist, was mein Bild wie
Dank sieht, Jeff
setDataElements (...) funktioniert gut für mich. Ihre int-Werte müssen falsch sein. Veröffentlichen Sie Ihre SSCCE, um das Problem zu demonstrieren. – camickr
@camickr, ich denke du hast Recht und das meine Pixelwerte falsch sind. Ich schaue mir das ein bisschen genauer an und poste dann zurück. –
Dies sieht wie schlechte Datenausrichtung aus. Ihre Pixel sind 32-Bit-Inte, aber ein Integer-RBG-Format hat nur 24 Bit. Sie sollten versuchen, eine Pixelstruktur mit 3 Bytes zu erstellen und stattdessen ein Array davon zu übergeben. – Hannesh