【问题标题】:Convert jpeg/png to an array of pixels in java在java中将jpeg/png转换为像素数组
【发布时间】:2010-02-03 21:48:36
【问题描述】:

如何将包含 jpeg 或 png 的字符串转换为像素数组(最好是一维)?理想情况下使用 java 内置的类?

【问题讨论】:

  • 字符串?以什么格式?基数64?十六进制?
  • 这个字符串是包含文件的文件名,还是原始图像数据?
  • 再次 - 采用什么格式?
  • 无论提交的 POST HTTP 文件是什么,我猜都是 base 64 编码的?

标签: java image pixel


【解决方案1】:

原来你需要commons-fileupload。查看user guide获取图片InputStream的方法。从那里您可以简单地调用:

BufferedImage image = ImageIO.read(item.getInputStream());

从这里开始有很多方法:

  • 遍历图像尺寸并为每个 x 和 y 调用 int rgb = image.getRGB(x, y);
  • 同上,但调用getRed(x, y)、getGreen(x, y)、getBlue(x, y)
  • 获取ColorModel 并在那里调用上述方法
  • 致电getRGB(startX, startY, w, h, rgbArray, offset, scansize)
  • 调用getData(),它返回一个Raster,然后在那里调用getPixes(..)

【讨论】:

    【解决方案2】:

    使用PixelGraber。它返回 RGB 数据的一维数组。

    【讨论】:

      猜你喜欢
      • 2013-10-31
      • 2015-12-27
      • 2013-03-03
      • 1970-01-01
      • 2017-07-02
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多