【问题标题】:Fade between transparency and a color in GraphicsGraphics 中透明度和颜色之间的渐变
【发布时间】:2026-02-18 12:55:02
【问题描述】:

我正在尝试在不添加图片的情况下完成如下所示的操作(在白色和透明度之间渐变)。

【问题讨论】:

    标签: java graphics transparency fade alpha


    【解决方案1】:

    如果您使用的是 BufferedImage,则 alpha 通道只是 getRGB() 结果的最高有效字节:

    int alpha = (image.getRGB(x, y) & 0xFF000000) >> 24;
    

    因此,您可以使用以下方法在保留颜色的同时更改 alpha:

    int original = image.getRGB(x, y);
    int newColor = (original & 0x00FFFFFF) | (alpha << 24);
    image.setRGB(x, y, newColor);
    

    (假设0 &lt;= alpha &lt;= 255)。

    【讨论】: