Determinar si el canal alfa se usa en una imagen

A medida que traigo imágenes a mi programa, quiero determinar si:

tienen un canal alfasi se usa ese canal alfa

# 1 es bastante simple con el usoImage.IsAlphaPixelFormat. por# 2 sin embargo, aparte de recorrer cada píxel, ¿hay alguna manera simple de determinar si al menos uno de los píxeles tiene un canal alfa que se utiliza (es decir, se establece en algún otro valor que no sea255)? Todo lo que necesito es un booleano y luego tomaré la decisión de guardarlo en 32 o 24 bits.

ACTUALIZAR: He descubierto queImageFlags.HasTranslucent debería proporcionarme lo que estoy buscando; desafortunadamente, no funciona en absoluto. Por ejemplo, los archivos PNG con formatos de píxeles que tienen al menos un canal alfa de 66 (semitransparente) continúan informandoFalse (Uso:if((img.Flags & ImageFlags.HasTranslucent) == 4) ...;) He probado en todo tipo de imágenes, incluyendo .bmp que tienen un valor alfa> 0 y <255 y aún informaFalse. ¿Alguien ha usado esto y sabe si incluso funciona en GDI +?

Respuestas a la pregunta(5)

Su respuesta a la pregunta