Java 如何不使用Swing/AWT绘制特定颜色?

Java 如何不使用Swing/AWT绘制特定颜色?,java,swing,colors,Java,Swing,Colors,我正在尝试在游戏中使用一张精灵表,我希望背景是透明的,我如何使用swing和/或awt实现这一点?请看 基于JXLayer(Java6) 使用设置透明度 看过 基于JXLayer(Java6) 使用设置透明度 最好的选择是使用已经支持背景透明度的格式(如PNG 32位)创建图纸 “半透明”和“透明度”选项只能更改图像的整个透明通道,而不能根据颜色对各个位进行操作。最好的选择是使用已支持背景透明度的格式(如PNG 32位)创建图纸 半透明和透明选项只能更改图像的整个透明通道,而不能根据其颜色对

我正在尝试在游戏中使用一张精灵表,我希望背景是透明的,我如何使用swing和/或awt实现这一点?

请看

  • 基于JXLayer(Java6)

  • 使用设置透明度

  • 看过

  • 基于JXLayer(Java6)

  • 使用设置透明度


  • 最好的选择是使用已经支持背景透明度的格式(如PNG 32位)创建图纸


    “半透明”和“透明度”选项只能更改图像的整个透明通道,而不能根据颜色对各个位进行操作。

    最好的选择是使用已支持背景透明度的格式(如PNG 32位)创建图纸


    半透明和透明选项只能更改图像的整个透明通道,而不能根据其颜色对单个位进行操作。

    扩展mKorbel的建议使用,您不能使用
    AlphaComposite进行绘制。清除
    模式,但可以清除
    缓冲图像的背景。比如说,

    Graphics2D dstG = dstImage.createGraphics();
    dstG.setComposite(AlphaComposite.Clear);
    dstG.fillRect(0, 0, WIDTH, HEIGHT);
    
    在不同模式下的后续绘制将使未绘制的像素保持透明


    更多细节可在此找到。

    扩展mKorbel的使用建议,您不能使用
    AlphaComposite进行绘制。清除
    模式,但可以清除
    缓冲图像的背景。比如说,

    Graphics2D dstG = dstImage.createGraphics();
    dstG.setComposite(AlphaComposite.Clear);
    dstG.fillRect(0, 0, WIDTH, HEIGHT);
    
    在不同模式下的后续绘制将使未绘制的像素保持透明


    更多细节可以在这里找到。

    精灵表BG现在是透明的吗?精灵表BG现在是透明的吗?
    LookupOp
    ,可以用来改变现有的背景色。它是
    AlphaComposite
    的有用补充,建议和提及。
    LookupOp
    ,提及的可用于改变现有背景色。它是建议和提及的对字母组合的有益补充。