LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

TranslateColor(RasterImage,Int32) Method

Example 





Destination RasterImage object.
Value that specifies the color in the image to be translated.
Translates the specified color in the image, and returns the nearest matching color in the destination image. .NET support Silverlight support WinRT support
Syntax
public int TranslateColor( 
   RasterImage destImage,
   int rgb
)
'Declaration
 
Public Overloads Function TranslateColor( _
   ByVal destImage As RasterImage, _
   ByVal rgb As Integer _
) As Integer
'Usage
 
Dim instance As RasterImage
Dim destImage As RasterImage
Dim rgb As Integer
Dim value As Integer
 
value = instance.TranslateColor(destImage, rgb)
public int TranslateColor( 
   RasterImage destImage,
   int rgb
)
 function Leadtools.RasterImage.TranslateColor(RasterImage,Int32)( 
   destImage ,
   rgb 
)
public:
int TranslateColor( 
   RasterImage^ destImage,
   int rgb
) 

Parameters

destImage
Destination RasterImage object.
rgb
Value that specifies the color in the image to be translated.

Return Value

The color value or the palette index of the nearest matching color in the destination image. If the destination image is 8 bits per pixel or less, this is always the palette index. Otherwise, it is the color value.
Remarks

When creating a target image for animation, you can use this method to ensure that the correct color is specified as the background color.

The reverse of this method (to get a true RGB color value from a palette index color), use GetTrueColorValue.

Example
 
Public Sub TranslateColorExample()
      Dim codecs As RasterCodecs = New RasterCodecs()

      ' load an 8 bpp image and a 24 bpp image
      Dim myImage1 As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Ulay1.bmp"))
      Dim myImage2 As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Sample1.cmp"))

      ' translate the top-left pixel of the 24 bpp image to a palette index in the first
      Dim win32Color As Integer = ColorTranslator.ToWin32(RasterColorConverter.ToColor(myImage2.GetPixelColor(0, 0)))
      Dim index As Integer = myImage2.TranslateColor(myImage1, win32Color) And &HEFFFFFF
      Console.WriteLine(String.Format("Palette index: {0}", index))

      myImage2.Dispose()
      myImage1.Dispose()

      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void TranslateColorExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      // load an 8 bpp image and a 24 bpp image
      RasterImage myImage1 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Ulay1.bmp"));
      RasterImage myImage2 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Sample1.cmp"));

      // translate the top-left pixel of the 24 bpp image to a palette index in the first
      int win32Color = ColorTranslator.ToWin32(RasterColorConverter.ToColor(myImage2.GetPixelColor(0, 0)));
      int index = myImage2.TranslateColor(myImage1, win32Color) & 0x0EFFFFFF;
      Console.WriteLine(string.Format("Palette index: {0}", index));

      myImage2.Dispose();
      myImage1.Dispose();

      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
RasterImageExamples.prototype.TranslateColorExample = function ( )
{
   Tools.SetLicense ( ) ;
   with (Leadtools) {
      with (Leadtools.Codecs) {
         var codecs = new RasterCodecs();

         var srcFileName1 = "Assets\\Ulay1.bmp";
         var srcFileName2 = "Assets\\Sample1.cmp";
         var myImage1;
         var myImage2;
         // load an 8 bpp image and a 24 bpp image
         return Tools.AppInstallFolder().getFileAsync(srcFileName1).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))
         })
            .then(function (img) {
               myImage1 = img;

               return Tools.AppInstallFolder().getFileAsync(srcFileName2)
            })
            .then(function (loadFile) {
               return codecs.loadAsync(LeadStreamFactory.create(loadFile))
            })
            .then(function (img2) {
               myImage2 = img2;

               // translate the top-left pixel of the 24 bpp image to a palette index in the first
               var color = myImage2.getPixelColor(0, 0);
               var translatedColor = myImage2.translateColor(myImage1, color);
               console.info("Palette index: ", RasterColorHelper.getStringDescription(translatedColor));

               myImage2.close();
               myImage1.close();

               codecs.close();
         });
      }
   }
}
[TestMethod]
public async Task TranslateColorExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName1 = @"Assets\Ulay1.bmp";
   string srcFileName2 = @"Assets\Sample1.cmp";

   // load an 8 bpp image and a 24 bpp image
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName1);
   RasterImage myImage1 = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
   loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName2);
   RasterImage myImage2 = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // translate the top-left pixel of the 24 bpp image to a palette index in the first
   RasterColor color = myImage2.GetPixelColor(0, 0);
   RasterColor translatedColor = myImage2.TranslateColor(myImage1, color);
   Debug.WriteLine(string.Format("Palette index: {0}", RasterColorHelper.GetStringDescription(translatedColor)));

   myImage2.Dispose();
   myImage1.Dispose();

   codecs.Dispose();
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RasterImage Class
RasterImage Members
Overload List
Implementing Animation
GetTrueColorValue Method

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.