使用setRGB和getRGB方法处理 BufferedImage 时,我注意到两件事:
setRGB和getRGB方法在某些系统上可能非常慢(比修改 int[] 数组慢两个数量级)。
不能保证setRGB之后的getRGB会返回您传递的相同像素
这最后一点从setRGB的 JavaDoc 中基本上很清楚,其中指出:
...对于具有 IndexColorModel 的图像,选择颜色最接近的索引。
看到我可以直接在 BufferedImage 的 int[] 像素中工作,我可以通过这样做来访问它,例如:
int[] a = ((DataBufferInt) tmp.getRaster().getDataBuffer()).getData();
我想知道:在直接操作像素时是否有任何已知的缺点/陷阱int[]
?