←Select platform

AntiAliasing Property

Summary
Indicates whether anti-aliasing should be used when rendering text.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public CodecsTxtAntiAliasing AntiAliasing { get; set; } 
@property (nonatomic, assign) LTCodecsTxtAntiAliasing AntiAliasing; 
public CodecsTxtAntiAliasing isAntiAliasing() 
public void setAntiAliasing(CodecsTxtAntiAliasing AntiAliasing) 
public:  
   property CodecsTxtAntiAliasing^ AntiAliasing 
   { 
      CodecsTxtAntiAliasing^ get() 
      void set(CodecsTxtAntiAliasing^ value) 
   } 
AntiAliasing # get and set (CodecsTxtLoadOptions) 

Property Value

This property affects the output only if the rendering engine supports it. GDI+ supports anti-aliasing, whereas SKIA does not.

Anti-aliasing smooths the text edges so the output looks better in 24/32-bit or 8-bit grayscale. But it can cause undesirable effects when the output is dithered down to fewer than 8-bits per pixel.

In particular, the output looks bad if the text files are loaded as 1-bit. In addition to looking bad, these 1-bit images will not compress efficiently using lossless compression techniques, such as fax CCITT G4. This is why it is sometimes desirable to turn anti-aliasing off.

Here are the possible values for this property:

Value Description
CodecsTxtAntiAliasing.Auto Let LEADTOOLS turn anti-aliasing on/off automatically (Default). In this case, anti-aliasing is enabled when loading at >= 8 bpp and disabled for < 8 bpp.
CodecsTxtAntiAliasing.On Always on
CodecsTxtAntiAliasing.Off Always off
Example
C#
Java
using Leadtools; 
using Leadtools.Codecs; 
 
using Leadtools.ImageProcessing.Core; 
using Leadtools.Pdf; 
 
 
// Make sure the source file has at least one long line of text to see the effect of the Wrap property. 
// Look at the result with 100% scale factor to see the effect of the AntiAliasing property. 
public void CodecsTxtOptionsAntiAliasingExample() 
{ 
   string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "test.txt"); 
 
   using (RasterCodecs codecs = new RasterCodecs()) 
   { 
      /* Load the text file using the defaults (AntiAliasing + Wrap) */ 
      using (RasterImage image = codecs.Load(srcFileName)) 
         codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "txt-Default.png"), RasterImageFormat.Png, 0); 
 
      /* Load the text file with no AntiAliasing + no Wrap */ 
      codecs.Options.Txt.Load.AntiAliasing = CodecsTxtAntiAliasing.Off; 
      codecs.Options.Txt.Load.Wrap = false; 
      using (RasterImage image = codecs.Load(srcFileName)) 
         codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "txt-NoAntiAlias-NoWrap.png"), RasterImageFormat.Png, 0); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
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; 
 
 
// Make sure the source file has at least one long line of text to see the 
// effect of the Wrap property. 
// Look at the result with 100% scale factor to see the effect of the 
// AntiAliasing property. 
public void codecsTxtOptionsAntiAliasingExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Example.txt"); 
   String outputFile1 = combine(LEAD_VARS_IMAGES_DIR, "txt-Default.png"); 
   String outputFile2 = combine(LEAD_VARS_IMAGES_DIR, "txt-NoAntiAlias-NoWrap.png"); 
 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Load the text file using the defaults (AntiAliasing + Wrap) // 
   RasterImage image = codecs.load(srcFileName); 
   codecs.save(image, outputFile1, RasterImageFormat.PNG, 0); 
 
   assertTrue("File unsuccessfully saved to " + outputFile1, (new File(outputFile1)).exists()); 
   System.out.printf("File successfully saved to %s%n", outputFile1); 
 
   image = null; 
   // Load the text file with no AntiAliasing + no Wrap // 
   codecs.getOptions().getTxt().getLoad().setAntiAliasing(CodecsTxtAntiAliasing.OFF); 
   codecs.getOptions().getTxt().getLoad().setWrap(false); 
   image = codecs.load(srcFileName); 
   codecs.save(image, outputFile2, RasterImageFormat.PNG, 0); 
 
   assertTrue("File unsuccessfully saved to " + outputFile2, (new File(outputFile2)).exists()); 
   System.out.printf("File successfully saved to %s%n", outputFile2); 
 
   image = null; 
   codecs = null; 
} 
Requirements

Target Platforms

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.