Я вижу много вопросов о том, как загрузить PNG с альфа-каналом и отобразить его, но не о том, как загрузить PNG, который имеет альфа-канал, но игнорирует альфа-канал, раскрывая основные данные RGB.
Я пытался просто удалить все данные из альфа-канала, но я просто получаю черные пиксели вместо нужных мне цветовых данных.Кажется, что с момента создания объекта Bitmap он не содержит никакой информации о цвете в пикселях, где альфа равна 0, хотя я заверяю вас, что информация физически присутствует в PNG.
Чтобы быть понятным, еслимое изображение содержит пиксель со следующими значениями: (R: 255 G: 128 B: 128 A: 0) Мне нужно, чтобы этот пиксель был (R: 255 G: 128 B: 128 A: 255), а не (R: 0 G: 0 B: 0 A: 255).
Спасибо
РЕДАКТИРОВАТЬ: Предыдущая информация неверна.Растровое изображение содержит всю информацию при использовании:
Bitmap myImage = Bitmap("filename.png")
;
То, что я делал неправильно, впоследствии использует:
Bitmap otherImage = Bitmap(myImage);
ItКажется, это то, что сводит на нет данные, которые мне нужны.Вместо этого я теперь использую
Bitmap otherImage = (Bitmap)(myImage.Clone());
, а затем вручную устанавливаю непрозрачность альфа-канала с помощью битов блокировки.Я надеюсь, что это может быть полезно для кого-то в будущем.