0

以下问题有什么解决办法吗?我有两个源图像,它们的大小相同,并且都存储为 ARGB 像素的简单内存数组,每个像素 32 位(每个颜色分量 8 位,alpha 通道(透明度)信息 8 位)。

案例 1:我正在将这两个图像(使用 alpha 混合)绘制到目标图像。我首先绘制图像#1,然后绘制图像#2。

案例2:我现在想要实现的是:我不想将图像#1和图像#2一个接一个地绘制到目标图像,而是创建一个新的临时图像,图像#3,它是图像的组合#1和图像#2。将图像#3 绘制到目标图像应产生与上述案例 1 中执行的操作完全相同的结果。

这有可能吗?即,从图像#1 和#2 创建一个中间图像——当绘制到目标图像时——将产生与图像#1 和#2 一个接一个地被绘制到目标图像一样的结果?如果可能,我需要什么算法?如果无法进行精确复制,有没有办法近似这个操作?

谢谢

编辑:为了让这一点更清楚一点:我正在开发一种特殊的硬件设置,其中 alphablending 到显示器非常昂贵。这就是为什么我想把它组合成尽可能少的调用。在案例 1 中,我必须进行两次 alpha 混合:首先将图像 #1 混合到目标表面,然后将图像 #2 混合到目标表面。在我的特定硬件设置上,这是非常昂贵的。这就是为什么我想先创建中间图像#3,然后将图像#3 混合到目标表面。这样,我只需调用一次昂贵的混合程序。所以我的问题是,是否有可能以某种方式从图像#1 和#2 创建这个图像#3,以使结果看起来完全相同。

4

0 回答 0