Canvas 画布上的PNG透明度

Canvas 画布上的PNG透明度,canvas,png,transparency,alpha,color-channel,Canvas,Png,Transparency,Alpha,Color Channel,画布支持PNG alpha吗?我有一些问题,我已经添加到画布上的一些PNG。图像的边缘是黑色和锯齿状的,好像没有alpha通道存在或正在被识别。如果在画布上放置一个带alpha的24位PNG,它会理解它 可能您的PNG不干净,即边界处有不透明区域?如果您在requestAnimationFrame或setInterval循环中进行PNG图像重绘,请在重绘PNG图像之前使用或 我偶然发现这个问题,因为我有一个类似的问题,但我的图像已经在24位。让requestAnimationFrame循环将P

画布支持PNG alpha吗?我有一些问题,我已经添加到画布上的一些PNG。图像的边缘是黑色和锯齿状的,好像没有alpha通道存在或正在被识别。

如果在画布上放置一个带alpha的24位PNG,它会理解它

可能您的PNG不干净,即边界处有不透明区域?

如果您在requestAnimationFrame或setInterval循环中进行PNG图像重绘,请在重绘PNG图像之前使用或

我偶然发现这个问题,因为我有一个类似的问题,但我的图像已经在24位。让requestAnimationFrame循环将PNG图像重新绘制到画布上,并且(正如您所说)当它们重叠时,结果是这条“烧焦”的边应该具有alpha“淡出”透明度


只需在调用drawImage之前清理该区域,就可以防止该图像自身被渲染。

忘了提一下,我正在使用processing.js库来显示该图像。我只是看了一下文档,它没有提到PNG是受支持的,所以我想我是运气不好。@Rigil这似乎不太可能。@Phrogz结果是我的帧速率太高了,当我点击它时,它会以每秒30帧的速度绘制PNG,相互重叠,呈现锯齿状边缘。看起来你可能节省了8位PNG具有1位透明度,因此与黑色混合。你能分享一个给你带来麻烦的文件吗?