←Select platform

ReadFromImage(string,int) Method

Summary

Loads an embedded ICC profile from a file.

Syntax
C#
VB
C++
public void ReadFromImage( 
   string fileName, 
   int pageNumber 
) 
  
Public Overloads Sub ReadFromImage( _ 
   ByVal fileName As String, _ 
   ByVal pageNumber As Integer _ 
)  
public: 
void ReadFromImage(  
   String^ fileName, 
   int pageNumber 
)  

Parameters

fileName
Character string containing the name of the file that contains the embedded ICC profile.

pageNumber
1-based index of the page within the file that contains the ICC profile.

Remarks
  • ICC profiles can be loaded from JPEG, TIFF, PSD or EPS files. For multipage files, you can save the profile to a particular page using the pageNumber parameter.
  • If the ICC profile loaded was version 4.0 or 4.2, its data will be extracted into the class members. Otherwise, the ICC profile is kept as one piece in the Data array.

Example

This example loads an ICC profile that is embedded in an image, and saves it as a separate ICC profile file.

C#
VB
using Leadtools; 
using Leadtools.ColorConversion; 
 
public void ReadFromImageExample() 
{ 
   // create an ICC profile object 
   IccProfileExtended iccProfile = new IccProfileExtended(); 
 
   // load the ICC from an image, by specifying the image's name, and the 1-based page number that contains the ICC. 
   // to load the ICC from an Image that is in a stream, put the stream instead of the file name. 
   string fileName = Path.Combine(LEAD_VARS.ImagesDir, "ImageWithIcc.tif"); 
 
   //if image has icc profile then load it. 
   if (IccProfileExtended.ImageHasIccProfile(fileName, 1)) 
   { 
      iccProfile.ReadFromImage(fileName, 1); 
   } 
 
   // at this point, the iccProfile object contains the ICC profile that was found in the image, 
   // you can use it as you want, but for this example, we will save it in a seperate ICC profile file. 
   // generate the profileId. For the time being, it will be filled with 0's 
   iccProfile.GenerateProfileId(); 
 
   // finally generate the new Icc Profile by updating the Data Array 
   // and then generating the file 
   iccProfile.UpdateDataArray(); 
   string IccfileName = Path.Combine(LEAD_VARS.ImagesDir, "ReadFromImageCS.icc"); 
   iccProfile.GenerateIccFile(IccfileName); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.ColorConversion 
 
Public Sub ReadFromImageExample() 
   ' create an ICC profile object 
   Dim iccProfile As New IccProfileExtended() 
 
   ' load the ICC from an image, by specifying the image's name, and the 1-based page number that contains the ICC. 
   ' to load the ICC from an Image that is in a stream, put the stream instead of the file name. 
   iccProfile.ReadFromImage(Path.Combine(LEAD_VARS.ImagesDir, "ImageWithIcc.tif"), 1) 
 
   ' at this point, the iccProfile object contains the ICC profile that was found in the image, 
   ' you can use it as you want, but for this example, we will save it in a seperate ICC profile file. 
   ' generate the profileId. For the time being, it will be filled with 0's 
   iccProfile.GenerateProfileId() 
 
   ' finally generate the new Icc Profile by updating the Data Array 
   ' and then generating the file 
   iccProfile.UpdateDataArray() 
   iccProfile.GenerateIccFile(Path.Combine(LEAD_VARS.ImagesDir, "ReadFromImageVB.icc")) 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

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

Leadtools.ColorConversion Assembly