Graphics 如何计算硬光复合混合模式的反转?

Graphics 如何计算硬光复合混合模式的反转?,graphics,html5-canvas,globalcompositeoperation,Graphics,Html5 Canvas,Globalcompositeoperation,我在客户端上有一个“旧”RGBA画布,在服务器上有同一图像的更新版本。它们之间的视觉差别很小 我希望服务器能够向客户端发送一些“差异”,以便能够更新其映像以匹配新版本,而无需再次发送整个映像数据 两帧透明的webm视频是理想的(即使用webm对差异进行编码),但对具有透明度的webm的硬件支持非常差,并且浏览器对从视频中提取特定帧的支持也非常差 相反,我正在考虑使用混合模式,该模式应允许我向客户端发送单个图像,并将任何RGBA像素转换为任何其他像素(误差范围为1) 我应该如何生成差异图像呢?如果

我在客户端上有一个“旧”RGBA画布,在服务器上有同一图像的更新版本。它们之间的视觉差别很小

我希望服务器能够向客户端发送一些“差异”,以便能够更新其映像以匹配新版本,而无需再次发送整个映像数据

两帧透明的webm视频是理想的(即使用webm对差异进行编码),但对具有透明度的webm的硬件支持非常差,并且浏览器对从视频中提取特定帧的支持也非常差

相反,我正在考虑使用混合模式,该模式应允许我向客户端发送单个图像,并将任何RGBA像素转换为任何其他像素(误差范围为1)


我应该如何生成差异图像呢?如果
new=hardlight(old,diff)

让Ch、Cw、Cd为您拥有的值、您想要的值和diff值,则哪种混合模式组合可以生成
diff

if (Cw > Ch)
    Cd = 1 - (1-Cw)/2(1-Ch)
else if (Cw < Ch)
    Cd = Cw/2Ch
else
    Cd = 0.5
if(Cw>Ch)
Cd=1-(1-Cw)/2(1-Ch)
否则如果(Cw
请注意,目标是将alpha也更新为新值。Hardlight()无法做到这一点,因为无法使用Hardlight混合来降低不透明度