public bool MaintainAspectRatio { get; set; }
@property (nonatomic, assign) BOOL maintainAspectRatio;
public boolean getMaintainAspectRatio()
public void setMaintainAspectRatio(boolean value)
MaintainAspectRatio # get and set (CodecsThumbnailOptions)
Value | Description |
---|---|
true | To keep the aspect ratio of the image when creating the thumbnail. |
false | To not keep the aspect ratio of the image when creating the thumbnail. The default value is false. |
When set to true, the generated thumbnail's width and height will not match both Width and Height if the original aspect ratio was not 1:1.
If you desire the thumbnail be generated with exactly the requested width and height while still maintaining the aspect ratio of the actual image, set both MaintainAspectRatio and ForceSize to true.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
public void ReadThumbnailExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
// Create a thumbnail with default options
CodecsThumbnailOptions options = CodecsThumbnailOptions.Default;
options.LoadStamp = false;
RasterImage thumbnail = codecs.ReadThumbnail(srcFileName, options, 1);
Debug.WriteLine("Thumbnail with default option:");
Debug.WriteLine(" Size: {0} by {1} pixels. Bits/Pixel: {2}", thumbnail.Width, thumbnail.Height, thumbnail.BitsPerPixel);
thumbnail.Dispose();
// Create a thumbnail with some options
options.LoadStamp = false;
options.Width = 40;
options.Height = 80;
options.ForceSize = true;
options.MaintainAspectRatio = false;
options.BackColor = RasterColor.FromKnownColor(RasterKnownColor.LightBlue);
options.BitsPerPixel = 8;
options.DitheringMethod = RasterDitheringMethod.None;
options.Order = RasterByteOrder.Rgb;
options.PaletteFlags = ColorResolutionCommandPaletteFlags.None;
options.Resample = false;
thumbnail = codecs.ReadThumbnail(srcFileName, options, 1);
Debug.WriteLine("Thumbnail with set option (size: {0} by {1}, Bits/Pixel: {2}, ForeSize: {3}",
options.Width, options.Height, options.BitsPerPixel, options.ForceSize);
Debug.WriteLine(" Size: {0} by {1} pixels. Bits/Pixel: {2}", thumbnail.Width, thumbnail.Height, thumbnail.BitsPerPixel);
thumbnail.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.*;
import java.net.*;
import java.nio.file.Paths;
import java.util.*;
import java.time.Instant;
import java.time.Duration;
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.codecs.RasterCodecs.FeedCallbackThunk;
import leadtools.drawing.internal.*;
import leadtools.imageprocessing.*;
import leadtools.imageprocessing.color.ChangeIntensityCommand;
import leadtools.svg.*;
public void readThumbnailExample() throws IOException {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
RasterCodecs codecs = new RasterCodecs();
String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp");
// Create a thumbnail with default options
CodecsThumbnailOptions options = CodecsThumbnailOptions.getDefault();
options.setLoadStamp(false);
ILeadStream srcFileStream = LeadStreamFactory.create(srcFileName);
RasterImage thumbnail = codecs.readThumbnail(srcFileStream, options, 1);
System.out.println("Thumbnail with default option:");
System.out.println(" Size: " + thumbnail.getWidth() + " by " + thumbnail.getHeight() + " pixels. Bits/Pixel: "
+ thumbnail.getBitsPerPixel());
thumbnail.dispose();
// Create a thumbnail with some options
options.setLoadStamp(false);
options.setWidth(40);
options.setHeight(80);
options.setForceSize(true);
options.setMaintainAspectRatio(false);
options.setBackColor(RasterColor.fromKnownColor(RasterKnownColor.LIGHT_BLUE));
options.setBitsPerPixel(8);
options.setDitheringMethod(RasterDitheringMethod.NONE);
options.setOrder(RasterByteOrder.RGB);
options.setPaletteFlags(ColorResolutionCommandPaletteFlags.NONE);
options.setResample(false);
thumbnail = codecs.readThumbnail(srcFileStream, options, 1);
assertTrue("Incorrect dithering method", options.getDitheringMethod().equals(RasterDitheringMethod.NONE));
System.out.println("Correct dithering method was used");
System.out.printf("Thumbnail with set option (size: %s by %s, Bits/Pixel: %s, ForeSize: %s%n",
options.getWidth(), options.getHeight(), options.getBitsPerPixel(), options.getForceSize());
System.out.printf(" Size: %s by %s pixels. Bits/Pixel: %s%n", thumbnail.getWidth(), thumbnail.getHeight(),
thumbnail.getBitsPerPixel());
thumbnail.dispose();
srcFileStream.close();
codecs.dispose();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document