Mátrixból -> BMP kép Java-ban.

Fórumok

Sziasztok!

Egy mátrixban (int[][]) tárolt "pixelértékekből" (0..255) kellene egy bmp képet előállítanom Java-ban, de elakadtam (még az elején :( ).
Ha valaki tud esetleg egy egyszerű kis működő kódot vagy egy könnyen paraméterezhető XXX osztályt, pl.

BufferedImage img = new XXX(int[][] pixel)

vagy egy lib-t, akkor azért nagyon hálás lennék.

A konverzióra visszafelé is jó lenne egy osztály, igaz erre van egy kódom, de az nem képes minden BMP-t int[][]-re alakítani.

Előre is köszönöm a segítségeteket!
Veres Sándor

Hozzászólások

Szerintem a JAI a legegyszerűbben használható erre.

http://java.sun.com/javase/technologies/desktop/media/jai/

Azt hiszem külön le kell szedegetni, nem része a J2SE-nek, de ha telepíted a gépedre működik.

BufferedImage-t lehet vele fájlba írni (BMP-t írja a támogatott formátumok között), meg onnan betölteni is. Az meg lényegében egy pixeltömb.

Valamikor próbáltam, megpróbálom előkotorni a példaprogramot, amit csináltam (én PNG-t csináltam vele). De neten is biztos lehet találni ezret.

1.

int width = 200;
int height = 300;
BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_ARGB
);

Graphics2D g2D = image.createGraphics();

g2D vel mar azt csinalsz amit akarsz, image-t pedig el tudod menteni BMP ben

2.
Image im;
int width = 200;
int height = 200;

int[] pixels = new int [width*height];
//pixels feltoltese
im = createImage (new MemoryImageSource (width, height, pixels, 0, width));

A MemoryImageSource segitsegevel van tobb lehetoseged, peldaul szin hozzarendelese
szamhoz, ... int helyett hasznalhatsz byte-ot is.