System.Drawing.Bitmap alpha

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I'm using the System.Drawing.Bitmap class for loading a 32-bit bmp file which
includes an alpha channel.

The problem is, when it gets loaded (just using the Bitmap(string filename)
constructor), it doesn't bother bringing the alpha along with it. All of the
pixels just show "255" as their alpha value and Bitmap.IsAlphaPixelFormat()
returns false.

I know that the alpha does exist physically and has worked with this exact
image in other contexts. So, does anyone know how I can make Bitmap behave
and actually give me my alpha channel in the file? Thanks much.
 
..png Bitmaps use the alpha channel

I encountered no problems using them in my projects.

Erik
 
Hi,

Try posting this in the framework.drawing NG as Bob Powell is the resident
master on all things in the Drawing namespace.

Steve
 
Basicly, a new Bitmap object is 24BPP which is why you lose the Alpha
content.
Draw the bitmap directly to a controls graphics object and you should have
no problems with Alpha, but when you manipulate the bitmap in a Memory
Bitmap the Alpha is lost. What you must do to overcome this issue, is create
the memory bitmap via a BitmapData object.

Whilst the example at the following link is for a 32bit Icon, it will give
you the solution to your problem.
http://dotnetrix.co.uk/misc.html --> Get Alpha Bitmap from 32 bit Icon.
 
Back
Top