Определите, используется ли альфа-канал в изображении

Поскольку я добавляю изображения в свою программу, я хочу определить:

у них есть альфа-каналесли этот альфа-канал используется

# 1 достаточно просто с использованиемImage.IsAlphaPixelFormat, За# 2 хотя, кроме циклического прохождения каждого отдельного пикселя, есть простой способ, которым я могу определить, имеет ли хотя бы один из пикселей альфа-канал, который используется (то есть установлено какое-то другое значение, кроме255)? Все, что мне нужно, - это логическое значение, и тогда я приму решение, сохранять ли его в 32-битном или 24-битном формате.

ОБНОВИТЬ: Я обнаружил, чтоImageFlags.HasTranslucent должен предоставить мне то, что я ищу - к сожалению, это не работает вообще. Например, PNG с форматами пикселей, которые имеют по крайней мере альфа-канал 66 (полупрозрачный), продолжают сообщатьFalse (Использование:if((img.Flags & ImageFlags.HasTranslucent) == 4) ...;). Я проверил на всех типах изображений, включая .bmp, которые имеют альфа-значение> 0 и <255, и он все еще сообщаетFalse, Кто-нибудь когда-нибудь использовал это и знает, работает ли он даже в GDI +?

Ответы на вопрос(5)

Ваш ответ на вопрос