ImageAttributes isn't working

  • Thread starter Thread starter ryandailey21
  • Start date Start date
R

ryandailey21

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)
 
ImgColorMap(0).OldColor = New Color

This assigns an empty Color value to OldColor (i.e. black).
ImgColorMap(0).OldColor.FromArgb(BackColor.A, BackColor.R,
BackColor.G, BackColor.B)

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
 
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?
 
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?

I REPEAT. IT DIDN'T WORK.
 
Back
Top