Groups | Blog | Home
all groups > c# > january 2005 >

c# : System.Drawing.Bitmap alpha


instruo
1/20/2005 11:25:02 PM
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
Erik Molenaar
1/21/2005 11:20:24 AM
..png Bitmaps use the alpha channel

I encountered no problems using them in my projects.

Erik


"instruo" <instruo@discussions.microsoft.com> schrieb im Newsbeitrag
news:90CCB48F-4F1C-4669-BCE5-671AD782BCDF@microsoft.com...
[quoted text, click to view]

Steve McLellan
1/21/2005 11:53:00 AM
Hi,

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

Steve

[quoted text, click to view]

Mick Doherty
1/21/2005 12:04:58 PM
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.

--
Mick Doherty
http://dotnetrix.co.uk/nothing.html


[quoted text, click to view]

AddThis Social Bookmark Button