How can I convert a string containing a jpeg or png to an array (preferably one dimensional) of pixels? Ideally using classes built into java?
Asked
Active
Viewed 5,281 times
2
-
string? in what format? base64? hex? – Bozho Feb 03 '10 at 21:53
-
Does this string contain the file name of a file, or the raw image data? – Anon. Feb 03 '10 at 21:53
-
again - in what format ? – Bozho Feb 03 '10 at 21:55
-
whatever a POST HTTP file submission would be, I'm guessing base 64 encoded? – Matt Feb 03 '10 at 21:57
2 Answers
6
It turns out you need commons-fileupload. Look at the user guide for how to obtain the image InputStream
. From there you can simply call:
BufferedImage image = ImageIO.read(item.getInputStream());
From here on there are many ways:
- loop over the image dimensions and for each x and y call
int rgb = image.getRGB(x, y);
- same as above, but call
getRed(x, y)
,getGreen(x, y)
,getBlue(x, y)
- get the
ColorModel
and call the above methods there - call
getRGB(startX, startY, w, h, rgbArray, offset, scansize)
- call
getData()
, which returns aRaster
, and callgetPixes(..)
there

Bozho
- 588,226
- 146
- 1,060
- 1,140