从像素值创建图像

时间:2012-09-22 18:29:55

标签: java image text rgb pixel

在java中...我有一个RGB像素的整数数组,意味着我程序的输出如下: “

Pixel 1: 255 200 191 231
Pixel 2: 255 237 028 036
Pixel 3: 255 034 177 076
Pixel 4: 255 085 140 066
Pixel 5: 255 200 191 231
Pixel 6: 255 237 028 036
Pixel 7: 255 231 188 167
Pixel 8: 255 237 028 036
Pixel 9: 255 237 028 036
Pixel 10: 255 063 072 204
Pixel 11: 255 226 125 144
Pixel 12: 255 063 072 204
Pixel 13: 255 200 191 231
Pixel 14: 255 062 187 099
Pixel 15: 255 255 127 039
Pixel 16: 255 255 127 039
Pixel 17: 255 200 191 231
Pixel 18: 255 212 177 189
Pixel 19: 255 063 072 204
Pixel 20: 255 040 158 100
Pixel 21: 255 034 177 076
Pixel 22: 255 237 028 036
Pixel 23: 255 248 253 249
Pixel 24: 255 165 169 231
Pixel 25: 255 200 191 231

如何使用上述数据创建尺寸为5 x 5的图像...?'

1 个答案:

答案 0 :(得分:1)

创建BufferedImage 从BufferedImage获取Graphics/Graphics2D对象 并使用Graphics对象绘制像素。

BufferedImage可以存储为ImageIO的文件,也可以显示在自己的Component/JComponent

比特伪代码

BufferedImage bi = new BufferedImage(5,5,BufferedImage.TYPE_INT_ARGB);
Graphics2D g = (Graphics2D) bi.getGraphics();
while(i < 25){
  g.setColor(new Color(See Api for more details on how to create a Color);
  g.drawRect(i/5, i%5, 1,1);
}

现在您有一个与ImageIO一起保存的BufferdImage

ImageIO.write(bi, "png", new File(output));

或者获取一个New JComponent并覆盖它的paint方法。这项任务有很多资源。