Java快速绘制图像

发布于 2024-12-06 15:20:52 字数 510 浏览 1 评论 0原文

我有一个 BufferedImage,其颜色模型类型为 IndexColorModel。当我尝试使用 Graphics2D.drawImage() 绘制该图像时,大约需要 30 毫秒。但是,如果我首先将此图像转换为 DirectColorModel,则绘制只需要大约 3 毫秒。为了进行此转换,我调用

AffineTransformOp identityOp = new AffineTransformOp(new AffineTransform(), AffineTransformOp.TYPE_BILINEAR);
displayImage = identityOp.filter(displayImage, null);

This 将 displayImage 从 IndexColorModel 转换为 DirectColorModel。然而,这个过程大约需要25毫秒。

我的问题是如何更快地绘制 IndexColorModel 图像或快速转换为另一个可以更快绘制的 ColorModel?

谢谢

I have a BufferedImage which has a color model type of IndexColorModel. When I try and paint this image using Graphics2D.drawImage() it takes about 30 milliseconds. However, if I first convert this image to a DirectColorModel it only takes about 3 milliseconds to paint. In order to do this conversion I call

AffineTransformOp identityOp = new AffineTransformOp(new AffineTransform(), AffineTransformOp.TYPE_BILINEAR);
displayImage = identityOp.filter(displayImage, null);

This converts the displayImage from an IndexColorModel to a DirectColorModel. However, this process takes about 25 milliseconds.

My question is either how do I paint an IndexColorModel image faster or quickly convert to another ColorModel that I can paint faster?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文