gpt4 book ai didi

java - 将多个图像合并为一个图像以供以后绘画,使用 alpha 混合

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:47 31 4
gpt4 key购买 nike

我有一个用于 Java 的图形系统,它允许通过指定多个图像将对象“设置为墙纸”,这些图像可以应用(相对)复杂的对齐和调整大小选项。

为了充分执行(尤其是在功率非常低的设备上),我在第一次绘制墙纸时将图像绘制到内部图像,然后将该合成图像复制到目标图形上下文以将其放到屏幕。然后仅当调整对象大小时才重新创建合成,因此后续重绘的唯一工作是将剪切区域从合成复制到目标图形上下文。

该解决方案非常有效,除了当我有具有 alpha channel 透明度的 PNG 图像时,在绘制复合 Material 时 alpha channel 会丢失 - 即复合 Material 的所有像素都完全不透明。因此,随后复制到屏幕上的图形上下文无法让墙纸对象后面的内容显示出来。

我确实设法使用 RGBImageFilter 过滤掉完全透明的像素,但我看不到使混合透明度起作用的解决方案。

有谁知道我可以用完整的 alpha channel 绘制图像,并在两个具有 alpha 值重叠的像素时合并图像?

最佳答案

合成图像使用什么类型的图像?

您应该使用 BufferedImage 并将其类型设置为允许半透明的 TYPE_INT_ARGB。

关于java - 将多个图像合并为一个图像以供以后绘画,使用 alpha 混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1223975/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com