Gets the true (RGB) value of the specified color based on the current image palette.
public RasterColor GetTrueColorValue(RasterColor color)
Public Function GetTrueColorValue( _ByVal color As Leadtools.RasterColor _) As Leadtools.RasterColor
public Leadtools.RasterColor GetTrueColorValue(Leadtools.RasterColor color)
- (LTRasterColor *)getTrueColorValue:(LTRasterColor *)color public RasterColor getTrueColorValue(RasterColor color) function Leadtools.RasterImage.GetTrueColorValue(color)
public:Leadtools.RasterColor GetTrueColorValue(Leadtools.RasterColor color)
color
a RasterColor that specifies the source color
A RasterColor that is guaranteed to be a true color (has RGB value)
Use this method to translate a color that is really a palette index (the value of the RasterColor.IsPaletteIndex property is true) to a true RGB color value
The apposite of this method is TranslateColor.
This example will create transparent GIF file
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.Drawing;using LeadtoolsExamples.Common;public void CreateTransparentGifExample(){// Create a 24 bpp image, we will draw on it first then convert it to 8 bppusing (RasterImage image = new RasterImage(RasterMemoryFlags.Conventional,256,256,8,RasterByteOrder.Bgr,RasterViewPerspective.BottomLeft,null,IntPtr.Zero,0)){Assert.IsNotNull(image);// Fill the image with the transparent color.RasterColor transparentColor = RasterColor.FromKnownColor(RasterKnownColor.Magenta);new FillCommand(transparentColor).Run(image);image.Transparent = true;// Get the true color used for Magenta inside this image (a palette index)image.TransparentColor = image.TranslateColor(image, transparentColor);// Draw on the image, else the entire image will be transparent.DrawEllipses(image);// Save this image as GIFstring fileName = Path.Combine(ImagesPath.Path, "TransparentEllipses.gif");using (RasterCodecs codecs = new RasterCodecs()){codecs.Save(image, fileName, RasterImageFormat.Gif, 8);}}}void DrawEllipses(RasterImage image){// Fill this image with magenta color and draw some random ellipses on topconst int ellipseWidth = 40;const int ellipseHeight = 40;IntPtr hdc = IntPtr.Zero;try{hdc = RasterImagePainter.CreateLeadDC(image);Assert.IsFalse(hdc == IntPtr.Zero);using (Graphics g = Graphics.FromHdc(hdc)){Assert.IsNotNull(g);Random r = new Random();for (int i = 0; i < 40; i++){int x = r.Next(image.Width - ellipseWidth);int y = r.Next(image.Height - ellipseHeight);Color clr = Color.FromArgb(r.Next(256), r.Next(256), r.Next(256));using (Brush brush = new SolidBrush(clr)){g.FillEllipse(brush, x, y, ellipseWidth, ellipseHeight);}}}}finally{// Make sure to delete the handle to the DC.if (hdc != IntPtr.Zero)RasterImagePainter.DeleteLeadDC(hdc);}}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.DrawingPublic Sub CreateTransparentGifExample()' Create a 24 bpp image, we will draw on it first then convert it to 8 bppDim imageWidth As Integer = 256Dim imageHeight As Integer = 256Dim image As New RasterImage(RasterMemoryFlags.Conventional,imageWidth,imageHeight,24,RasterByteOrder.Bgr,RasterViewPerspective.BottomLeft,Nothing,IntPtr.Zero,0)' Fill this image with magenta color and draw some random ellipses on topDim hdc As IntPtr = RasterImagePainter.CreateLeadDC(image)Dim g As Graphics = Graphics.FromHdc(hdc)g.FillRectangle(Brushes.Magenta, 0, 0, imageWidth, imageHeight)Const ellipseWidth As Integer = 40Const ellipseHeight As Integer = 40Dim r As New Random()For i As Integer = 0 To 39Dim x As Integer = r.Next(imageWidth - ellipseWidth)Dim y As Integer = r.Next(imageHeight - ellipseHeight)Dim clr As Color = Color.FromArgb(r.Next(256), r.Next(256), r.Next(256))Dim brush As New SolidBrush(clr)g.FillEllipse(brush, x, y, ellipseWidth, ellipseHeight)brush.Dispose()Nextg.Dispose()RasterImagePainter.DeleteLeadDC(hdc)' Convert this image to 8 bits/pixelDim cmd As New ColorResolutionCommand(ColorResolutionCommandMode.InPlace,8,RasterByteOrder.Rgb,RasterDitheringMethod.None,ColorResolutionCommandPaletteFlags.Optimized,Nothing)cmd.Run(image)' Find the Magenta color and set it as the transparent colorDim transparentColor As RasterColor = RasterColor.FromKnownColor(RasterKnownColor.Magenta)' Get the true color used for Magenta inside this image (a palette index)transparentColor = image.TranslateColor(image, transparentColor)image.Transparent = Trueimage.TransparentColor = transparentColor' Initialize the RasterCodecs objectDim codecs As New RasterCodecs()' Save this image as GIFDim fileName As String = Path.Combine(LEAD_VARS.ImagesDir, "TransparentEllipses.gif")codecs.Save(image, fileName, RasterImageFormat.Gif, 8)' Clean upimage.Dispose()codecs.Dispose()End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
