Groups | Blog | Home
all groups > dotnet framework > june 2006 >

dotnet framework : ImageAttributes isn't working


ryandailey21 NO[at]SPAM hotmail.com
6/29/2006 10:23:12 PM
Hello,
For some reason this ImageAttributes isn't doing what I tell it. I'm
not sure what I am missing. I am trying to get background of the image
to display as transparent. But it draws the image unchanged. Here's
my code.

Dim ImgColorMap(0) As System.Drawing.Imaging.ColorMap
Dim BackColor As Color
'Draw the Background
graph.DrawImage(BackGroundImage, 0, 0)

'Draw the board
BackColor = BoardImages(0).GetPixel(0, 0)
ImgColorMap(0) = New System.Drawing.Imaging.ColorMap
ImgColorMap(0).OldColor = New Color
ImgColorMap(0).OldColor.FromArgb(BackColor.A, BackColor.R,
BackColor.G, BackColor.B)
ImgColorMap(0).NewColor = New Color
ImgColorMap(0).NewColor.FromArgb(0, 0, BackColor.G, 0)
BoardImageAttributes = New
System.Drawing.Imaging.ImageAttributes
BoardImageAttributes.SetRemapTable(ImgColorMap)

graph.DrawImage(BoardImages(0), New Rectangle(50, 50, 50, 50),
28, 28, 50, 50, GraphicsUnit.Pixel, BoardImageAttributes)
Barry Kelly
6/30/2006 12:00:00 AM
[quoted text, click to view]

This assigns an empty Color value to OldColor (i.e. black).

[quoted text, click to view]

FromArgb returns the new value. It is a static method, so it does not
modify the Color value in the OldColor property itself. What you want is
more like:

ImgColorMap(0).OldColor = Color.FromArgb(BackColor.A '...

-- Barry

--
ryandailey21 NO[at]SPAM hotmail.com
6/30/2006 8:15:23 AM
Okay,
I removed those New keywords for OldColor and NewColor. I am still
getting a drawn image with no changed colors.
Does it make a difference that I am writing all this in a class and not
the form itself?
ryandailey21 NO[at]SPAM hotmail.com
7/1/2006 11:06:22 PM

[quoted text, click to view]

I REPEAT. IT DIDN'T WORK.
AddThis Social Bookmark Button