java - PixelGrabber 与 getRGB 哪个更快?

标签 java performance image java-2d

我试图实现 Hill Cipher通过抓取图像像素来对图像进行算法。事实证明,小图像加载得很好。

但是对于较大的图像(8MP或12MP),加载速度很慢;因此写入图像也很慢。

我使用 bufferedImage.getRGB(x,y) 抓取每个像素,使用算法修改它,并使用 bufferedImage.setRGB(x,y,rgb) 同时写入像素.

现在,我需要一些建议来加快加载/写入速度。我想知道是否 PixelGrabber会更好吗?

最佳答案

getRGB/setRGB非常慢,因为每次调用它们时它们都会进行大量的色彩空间检查和颜色转换。考虑到典型图像中的像素数量,绝对不是任何图像操作的方法。

通过旧的 PixelGrabber 或通过 BufferedImage.getRaster() 将原始图像数据获取到数组中比较困难(您必须了解一些概念),但运行速度要快得多。

关于java - PixelGrabber 与 getRGB 哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10954389/

相关文章:

C# ASP.Net - DataList 动态更改图像

java - 无法启动代理

WPF 最有效的图片加载方式

css - DIV 背景的平铺图像在滚动时使 ICE 变慢

JavaFX - GridPane 背景图像

ruby-on-rails - 带有负载平衡机的回形针 + rails

java - 当文件夹深度大于 4 时,Fitnesse 框架非常慢 - 为什么?

c# - 将 C# Func<> 移植到 Java- Math Equation

java - 如何使用 BufferedWriter 读取特定行

mysql - 使用 ORDER BY 时 MySQL 查询速度慢