我正在寻找一种在 Java 中绘制具有灰度颜色的 PNG 图像(带有 alpha 通道)的方法,然后在其顶部覆盖透明颜色,例如不透明度为 75% 的绿色以更改颜色。 需要明确的是,生成的图像将是在其顶部放置透明颜色的直接结果,而不是任何特殊类型混合的结果。
例如,我将绘制以下图像:
然后在图像顶部覆盖 RGB 颜色 (102, 255, 0, alpha):
在图像上绘制颜色的方法需要不会干扰屏幕上靠近的其他图像。这与 Adobe Photoshop 的颜色叠加功能类似。两个图像可以有单独的颜色叠加,但单独的叠加不会相互冲突。
感谢 leonbloy,我相信使用“SRC_OVER”的 AlphaComposit 可以解决这个问题,然后我可以使用一种方法将结果保存为新的 BufferedImage,这将防止覆盖影响屏幕上的任何其他图像对象。
我会在测试时发布结果。