我有一个带有 IndexColorModel 的 BufferedImage。我需要将该图像绘制到屏幕上,但我注意到使用 IndexColorModel 时这很慢。但是,如果我通过身份仿射变换运行 BufferedImage,它会创建一个带有 DirectColorModel 的图像,并且绘画速度要快得多。这是我正在使用的代码
AffineTransformOp identityOp = new AffineTransformOp(new AffineTransform(), AffineTransformOp.TYPE_BILINEAR);
displayImage = identityOp.filter(displayImage, null);
我有三个问题
1. 为什么在 IndexColorModel 上绘制速度较慢?
2、有什么办法可以加快IndexColorModel的绘制速度?
3. 如果 2. 的答案是否定的,这是从 IndexColorModel 转换为 DirectColorModel 的最有效方法吗?我注意到这种转换取决于图像的大小,我想删除这种依赖关系。
谢谢您的帮助