|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
ImageAttributes isn't workingFor 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) ryandaile***@hotmail.com wrote:
> ImgColorMap(0).OldColor = New Color This assigns an empty Color value to OldColor (i.e. black).> ImgColorMap(0).OldColor.FromArgb(BackColor.A, BackColor.R, FromArgb returns the new value. It is a static method, so it does not> BackColor.G, BackColor.B) 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? |
|||||||||||||||||||||||