XNA: применение цвета SpriteBatch.Draw (...) только к непрозрачным пикселям - PullRequest
0 голосов
/ 18 мая 2009

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

Я хочу использовать color аргумент SpriteBatch.Draw(...) для изменения оттенка диска. Однако стандартное поведение смешивания применяет цвет ко всему спрайту, поэтому я получаю непрозрачный квадратный контур вокруг тонированного диска.

Есть ли способ изменить режим наложения, чтобы аргумент color не влиял на прозрачные пиксели?

Ответы [ 2 ]

1 голос
/ 18 мая 2009

Я никогда не видел, чтобы это произошло, и я работал с прозрачными PNG, подобными этому, с самого начала в XNA. Вы смешиваете 2D и 3D? Если это так, настройки 3D-рендеринга могут сбивать с толку SpriteBatch, но я подумал, что SpriteBatch должен был установить их правильно для вас. Может быть, что-то не так с изображением PNG, которое вы используете?

0 голосов
/ 18 мая 2009

Билл, ты прав. Я забыл очистить фон в одном из PNG. Вопрос должен быть удален.

...