我使用方法getRGB()
从BufferedImage
获得像素。像素存储在名为data[]
的阵列中。在对数据数组进行一些操作后,我需要再次创建一个BufferedImage
,以便我可以将它传递给将从此数据数组显示修改后的图像的模块,但我坚持使用它。如何从包含像素的数组创建BufferedImage?
2
A
回答
2
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
然后再次设置像素。
bufferedImage.setRGB(x, y, your_value);
PS:如在评论中指出,请使用该方法的getRGB()使用的答案从@TacticalCoder
-1
19
我从BufferedImage中的像素。 像素存储在名为data []的数组中。
请注意,这可能会非常慢。如果您的BufferedImage支持它,您可能需要访问底层的int []并直接从那里复制/读取像素。
例如,您数据[]快速度复制到底层INT []新BufferedImage的:
BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
final int[] a = ((DataBufferInt) res.getRaster().getDataBuffer()).getData();
System.arraycopy(data, 0, a, 0, data.length);
当然,你要确保你的数据[]包含与BufferedImage相同的像素(本例中为ARGB)。
相关问题
- 1. 从字节数组创建BufferedImage java
- 2. 如何创建一个包含元素值的数组?
- 3. 如何从原始数据创建BufferedImage
- 4. 如何从位图数据创建BufferedImage
- 5. 使用像素创建一个BufferedImage int []
- 6. 如何创建像素值数组?
- 7. 如果元素包含空格,创建更长的数组? (JAVA)
- 8. 如何创建包含数组的json数组
- 9. 如何创建一个包含其他值的数组数组?
- 10. 将2D像素数组转换为BufferedImage
- 11. 从YBR_FULL创建BufferedImage Dicom图像
- 12. 从图像格式创建BufferedImage 8BPP
- 13. 如何从Java中的像素浮点数组创建栅格?
- 14. 从包含特定字符串的数组创建数组
- 15. 如何创建仅包含图像和JLabel的Java Swing组件?
- 16. 如何从数组中创建1元素数组的数组?
- 17. 如何旋转bufferedimage,然后将bufferedImage复制到像素数组中
- 18. 如何从BufferedImage创建8位PNG?
- 19. 如何从SVG路径创建BufferedImage?
- 20. 如何从文件正确创建BufferedImage?
- 21. 从BufferedImage获取像素数据
- 22. 创建包含结构值的数组
- 23. 创建新的数组包含对象
- 24. 检测BufferedImage是否包含透明像素
- 25. 如何创建包含数字和字符的数组?
- 26. 如何编辑BufferedImage中的像素?
- 27. 从PApplet内容创建BufferedImage
- 28. 如何创建包含符合条件的索引的数组?
- 29. 如何创建一个包含每个键的数组的NSDictionary?
- 30. 如何创建一个包含真实图像的字节数组?
您不应该遍历整个图像并一次设置一个位。你应该一次复制整个缓冲区。 – 2014-12-09 11:50:39
这是设置bufferedimage中所有像素的可怕方法,不应该被接受。 – tofiffe 2015-10-29 17:48:50