title: Determine if Alpha Channel is Used in an Image
body: <p>As I'm bringing in images into my program, I want to determine if:</p>
  
  <ol>
  <li>they have an alpha-channel</li>
  <li>if that alpha-channel is used</li>
  </ol>
  
  <p><strong>#1</strong> is simple enough with using <code>Image.IsAlphaPixelFormat</code>. For <strong>#2</strong> though, other than looping through every single pixel, is there a simple way I can determine if at least one of the pixels has an alpha channel that is used (i.e. set to some other value than <code>255</code>)? All I need back is a boolean and then I'll make determination as to whether to save it out to 32-bit or 24-bit.</p>
  
  <p><strong>UPDATE</strong>: I have discovered that <a href="http://msdn.microsoft.com/en-us/library/system.drawing.imaging.imageflags(VS.71).aspx" rel="noreferrer">ImageFlags.HasTranslucent</a> should provide me with what I'm looking for - unfortunately, it doesn't work at all. For example, PNGs with pixel formats that have at least alpha channel of 66 (semi-transparent) continue to report <code>False</code> (Usage: <code>if((img.Flags &amp; ImageFlags.HasTranslucent) == 4) ...;</code>). I've tested on all types of images, including .bmp that have an alpha value >0 and &lt;255 and it still reports <code>False</code>. Anyone ever use this and know if it even works in GDI+?</p>