←Select platform

CodecsHeicOptions Class

Summary

Provides extra options for loading and saving Heif/Heic images.

Syntax

C#
Objective-C
C++/CLI
Java
Python
public class CodecsHeicOptions 
@interface LTCodecsHeicOptions : NSObject 
public class CodecsHeicOptions 
public ref class CodecsHeicOptions  
class CodecsHeicOptions: 

Requirements

Target Platforms

Example

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
 
using Leadtools.ImageProcessing.Core; 
using Leadtools.Pdf; 
 
public void CodecsHeicOptions_Example() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   string fileName = "C:\temp\test.heic"; 
   using (RasterImage image = codecs.Load(fileName)) 
   { 
      /* Save a HEIC file using qFactor of 30 and no stamp */ 
      string outFile30 = @"C:\temp\out30-NoStamp.heic"; 
      codecs.Options.Heic.Load.Multithreaded = false; // CodecsHeicLoadOptions reference 
      codecs.Options.Heic.Save.QualityFactor = 30; // CodecsHeicOptions & CodecsHeicSaveOptions reference 
      codecs.Save(image, outFile30, RasterImageFormat.Heic, 0); 
 
      /* Save a HEIC file using qFactor of 40 and a stamp */ 
      string outFile40 = @"C:\temp\out40-Stamp.heic"; 
      codecs.Options.Heic.Save.QualityFactor = 40; 
      codecs.Options.Heic.Save.SaveWithStamp = true; 
      codecs.Options.Heic.Save.StampWidth = 320; 
      codecs.Options.Heic.Save.StampHeight = codecs.Options.Heic.Save.StampWidth * image.Height / image.Width; 
      codecs.Options.Heic.Save.StampBitsPerPixel = 24; 
      codecs.Save(image, outFile40, RasterImageFormat.Heic, 0); 
   } 
 
   // Clean up  
   codecs.Dispose(); 
} 
 
import java.io.File; 
import java.io.IOException; 
import java.net.URI; 
import java.net.URISyntaxException; 
import java.nio.file.Paths; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.core.MinMaxBitsCommand; 
 
 
public void codecsHeicOptionsExample(){ 
   final String LEAD_VARS_IMAGES_DIR ="C:\\LEADTOOLS23\\Resources\\Images"; 
   String fileName = combine(LEAD_VARS_IMAGES_DIR,"example.heic"); 
   RasterCodecs codecs = new RasterCodecs(); 
   RasterImage image = codecs.load(fileName); 
 
   // Save a HEIC file using qFactor of 30 and no stamp // 
   String outFile30 = combine(LEAD_VARS_IMAGES_DIR,"out30-NoStamp.heic"); 
   codecs.getOptions().getHeic().getLoad().setMultithreaded(false); // 
   // CodecsHeicLoadOptions reference 
   codecs.getOptions().getHeic().getSave().setQualityFactor(30); // 
   // CodecsHeicOptions & CodecsHeicSaveOptions reference 
   codecs.save(image, outFile30, RasterImageFormat.HEIC,0); 
 
   assertTrue("File unsuccessfully saved to " + outFile30, (new File(outFile30)).exists()); 
   System.out.printf("File successfully saved to %s%n", outFile30); 
 
   // Save a HEIC file using qFactor of 40 and a stamp // 
   String outFile40 = combine(LEAD_VARS_IMAGES_DIR,"out40-Stamp.heic"); 
   codecs.getOptions().getHeic().getSave().setQualityFactor(40); 
   codecs.getOptions().getHeic().getSave().setSaveWithStamp(true); 
   codecs.getOptions().getHeic().getSave().setStampWidth(320); 
   codecs.getOptions().getHeic().getSave().setStampHeight( 
      (codecs.getOptions().getHeic().getSave().getStampWidth() * image.getHeight())  
      / (image.getWidth()) 
   ); 
   codecs.getOptions().getHeic().getSave().setStampBitsPerPixel(24); 
   codecs.save(image, outFile40, RasterImageFormat.HEIC, 0); 
 
   assertTrue("File unsuccessfully saved to " + outFile40, (new File(outFile40)).exists()); 
   System.out.printf("File successfully saved to %s%n", outFile40); 
 
   // Clean up 
   codecs.dispose(); 
} 

See Also

CodecsHeicOptions Members

Leadtools.Codecs Namespace

High Efficiency File Format - HEIC

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

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