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
- 1940 megtekintés
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni