2

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?

Matt
  • 85
  • 1
  • 6

2 Answers2

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 a Raster, and call getPixes(..) there
Bozho
  • 588,226
  • 146
  • 1,060
  • 1,140
0

Use PixelGraber. It returns one-dimensional array of RGB data.

Denis Tulskiy
  • 19,012
  • 6
  • 50
  • 68