【发布时间】:2014-03-30 21:56:08
【问题描述】:
我正在尝试优化 Java 中的渲染引擎,以不绘制被在它们前面绘制的“实体”子对象覆盖的对象,即父对象被其子对象遮挡。
我想知道我从文件加载的任意 BufferedImage 是否包含任何透明像素 - 因为这会影响我的遮挡测试。
我发现我可以使用 BufferedImage.getColorModel().hasAlpha() 来查找图像是否支持 alpha,但如果它支持,它不会告诉我它是否确实包含非透明像素。
我知道我可以遍历像素数据并测试每个像素的 alpha 值并在发现非透明像素后立即返回,但我想知道是否已经有可以使用的原生东西,即内部设置的标志可能?或者比通过像素迭代更不密集的东西。
任何意见表示赞赏,谢谢。
【问题讨论】:
-
非常确定您需要遍历每个像素并检查 Alpha 值。对不起。
标签: java image bufferedimage raster alpha-transparency