PNG Прозрачность на холсте - PullRequest
2 голосов
/ 13 января 2011

Canvas поддерживает PNG альфа? У меня возникли проблемы с несколькими PNG, которые я добавил на холст. Края изображений черные и зазубренные, как будто альфа-канал не существует или распознается.

Ответы [ 2 ]

2 голосов
/ 13 января 2011

Если вы поместите 24-битный PNG с альфа-каналом на холст, он это поймет.

https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Using_images

Может быть, ваши PNG не чистые, то есть имеют непрозрачные области на границах?

0 голосов
/ 26 июля 2017

Используйте clearRect () или fillRect () перед перерисовкой изображения PNG, если вы делаете это в цикле requestAnimationFrame или setInterval.

Я наткнулся наэтот вопрос, так как у меня была похожая проблема, но мой образ был уже на 24-битном.Если бы цикл requestAnimationFrame перерисовывал изображение PNG на холсте и (как вы сказали), когда они перекрывали друг друга, в результате были получены эти «сожженные» края, в которых должна была быть прозрачность альфа-эффекта «затухания».

ПростоОчистив область перед вызовом drawImage, вы можете предотвратить отображение этого изображения поверх самого себя.

...