←Select platform

GetTrueColorValue Method

Summary
Gets the true (RGB) value of the specified color based on the current image palette.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public RasterColor GetTrueColorValue( 
   RasterColor color 
) 
- (LTRasterColor *)getTrueColorValue:(LTRasterColor *)color 
public RasterColor getTrueColorValue( 
   RasterColor color 
); 
public: 
RasterColor GetTrueColorValue(  
   RasterColor color 
)  
def GetTrueColorValue(self,color): 

Parameters

color
a RasterColor that specifies the source color

Return Value

A RasterColor that is guaranteed to be a true color (has RGB value)

Remarks

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 opposite of this method is TranslateColor.

Example

This example will create transparent GIF file

C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.Drawing; 
 
 
public void CreateTransparentGifExample() 
{ 
	// Create a 24 bpp image, we will draw on it first then convert it to 8 bpp 
	using (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 GIF 
		string fileName = Path.Combine(LEAD_VARS.ImagesDir, "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 top 
	const 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); 
	} 
} 
 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.5.16
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.