ImageOptionsBase
Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject
All Implemented Interfaces: com.aspose.imaging.IMetadataContainer
public abstract class ImageOptionsBase extends DisposableObject implements IMetadataContainer
Image 基础选项。
方法
isKeepMetadata()
public final boolean isKeepMetadata()
获取一个值,指示在导出时是否保留原始图像元数据。
Returns: 布尔型 - 一个指示在导出时是否保留原始图像元数据的值。
setKeepMetadata(boolean value)
public final void setKeepMetadata(boolean value)
一个值,指示在导出时是否保留原始图像元数据。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | boolean | 一个指示在导出时是否保留原始图像元数据的值。 |
getXmpData()
public XmpPacketWrapper getXmpData()
获取 XMP 元数据容器。
值:XMP 数据容器。
Returns: XmpPacketWrapper - the XMP metadata container.
setXmpData(XmpPacketWrapper value)
public void setXmpData(XmpPacketWrapper value)
设置 XMP 元数据容器。
值:XMP 数据容器。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | XmpPacketWrapper | XMP 元数据容器。 |
getExifData()
public ExifData getExifData()
获取 Exif 数据。
Returns: ExifData - the Exif data.
setExifData(ExifData value)
public void setExifData(ExifData value)
设置 Exif 数据。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | ExifData | Exif 数据。 |
getSource()
public Source getSource()
获取用于创建图像的源。
Returns: Source - The source to create image in.
setSource(Source value)
public void setSource(Source value)
获取或设置用于创建图像的源。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Source | 用于创建图像的源。 |
getPalette()
public IColorPalette getPalette()
获取颜色调色板。
Returns: IColorPalette - The color palette.
setPalette(IColorPalette value)
public void setPalette(IColorPalette value)
设置颜色调色板。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | IColorPalette | 颜色调色板。 |
Example: The following example shows how to palletize a BMP image to reduce its output size.
// 创建一个 100 x 100 像素的 BMP 图像。
com.aspose.imaging.fileformats.bmp.BmpImage bmpImage = new com.aspose.imaging.fileformats.bmp.BmpImage(100, 100);
try {
// 图像左上角到右下角的线性渐变。
com.aspose.imaging.brushes.LinearGradientBrush brush =
new com.aspose.imaging.brushes.LinearGradientBrush(
new com.aspose.imaging.Point(0, 0),
new com.aspose.imaging.Point(bmpImage.getWidth(), bmpImage.getHeight()),
com.aspose.imaging.Color.getRed(),
com.aspose.imaging.Color.getGreen());
// 使用线性渐变画刷填充整个图像。
com.aspose.imaging.Graphics gr = new com.aspose.imaging.Graphics(bmpImage);
gr.fillRectangle(brush, bmpImage.getBounds());
// 获取最接近的 8 位颜色调色板,覆盖尽可能多的像素,以便调色板图像
// 几乎在视觉上与非调色板图像无法区分。
com.aspose.imaging.IColorPalette palette = com.aspose.imaging.ColorPaletteHelper.getCloseImagePalette(bmpImage, 256);
// 8 位调色板最多包含 256 种颜色。
com.aspose.imaging.imageoptions.BmpOptions saveOptions = new com.aspose.imaging.imageoptions.BmpOptions();
saveOptions.setPalette(palette);
saveOptions.setBitsPerPixel(8);
java.io.ByteArrayOutputStream stream = new java.io.ByteArrayOutputStream();
try {
bmpImage.save(stream, saveOptions);
System.out.println("The palettized image size is " + stream.size() + " bytes.");
} finally {
stream.close();
}
stream = new java.io.ByteArrayOutputStream();
try {
bmpImage.save(stream);
System.out.println("The non-palettized image size is " + stream.size() + " bytes.");
} finally {
stream.close();
}
} finally {
bmpImage.dispose();
}
// 输出如下:
// 调色板化的图像大小为 11078 字节。
// 非调色板化的图像大小为 40054 字节。
getResolutionSettings()
public ResolutionSetting getResolutionSettings()
获取分辨率设置。
Returns: ResolutionSetting
setResolutionSettings(ResolutionSetting value)
public void setResolutionSettings(ResolutionSetting value)
设置分辨率设置。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | ResolutionSetting |
Example: The following example loads a BMP image and saves it to JPEG using various save options.
String dir = "c:\\temp\\";
// 从文件加载 BMP 图像。
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.bmp");
try {
// 进行一些图像处理。
// 使用其他选项来指定所需的图像参数。
com.aspose.imaging.imageoptions.JpegOptions saveOptions = new com.aspose.imaging.imageoptions.JpegOptions();
// 每个通道的位数为 8。
// 使用调色板时,颜色索引存储在图像数据中,而不是颜色本身。
saveOptions.setBitsPerChannel((byte) 8);
// 设置渐进式压缩类型。
saveOptions.setCompressionType(com.aspose.imaging.fileformats.jpeg.JpegCompressionMode.Progressive);
// 设置图像质量。取值范围为 1 到 100。
saveOptions.setQuality(100);
// 将水平/垂直分辨率设置为每英寸 96 点。
saveOptions.setResolutionSettings(new com.aspose.imaging.ResolutionSetting(96.0, 96.0));
saveOptions.setResolutionUnit(com.aspose.imaging.ResolutionUnit.Inch);
// 如果源图像为彩色,则会转换为灰度。
saveOptions.setColorType(com.aspose.imaging.fileformats.jpeg.JpegCompressionColorMode.Grayscale);
// 使用调色板来减小输出大小。
saveOptions.setPalette(com.aspose.imaging.ColorPaletteHelper.create8BitGrayscale(false));
image.save(dir + "sample.palettized.jpg", saveOptions);
} finally {
image.dispose();
}
getVectorRasterizationOptions()
public VectorRasterizationOptions getVectorRasterizationOptions()
获取矢量光栅化选项。
Returns: VectorRasterizationOptions - The vector rasterization options.
setVectorRasterizationOptions(VectorRasterizationOptions value)
public void setVectorRasterizationOptions(VectorRasterizationOptions value)
设置矢量光栅化选项。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | VectorRasterizationOptions | 矢量光栅化选项。 |
getBufferSizeHint()
public final int getBufferSizeHint()
获取缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。
值:缓冲区大小提示(单位:兆字节)。非正值表示内部缓冲区没有内存限制
Returns: int - 缓冲区大小提示,定义为所有内部缓冲区的最大允许大小。
setBufferSizeHint(int value)
public final void setBufferSizeHint(int value)
设置缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。
值:缓冲区大小提示(单位:兆字节)。非正值表示内部缓冲区没有内存限制
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | int | 缓冲区大小提示,定义为所有内部缓冲区的最大允许大小。 |
getMultiPageOptions()
public MultiPageOptions getMultiPageOptions()
多页选项
Returns: MultiPageOptions
setMultiPageOptions(MultiPageOptions value)
public void setMultiPageOptions(MultiPageOptions value)
多页选项
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | MultiPageOptions |
getFullFrame()
public final boolean getFullFrame()
获取指示是否为 [full frame] 的值。
值:如果是 [full frame] 则为 true;否则为 false。
Returns: boolean - 表示是否为 [full frame] 的值。
setFullFrame(boolean value)
public final void setFullFrame(boolean value)
设置指示是否为 [full frame] 的值。
值:如果是 [full frame] 则为 true;否则为 false。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | boolean | 指示是否为 [full frame] 的值。 |
getProgressEventHandler()
public ProgressEventHandler getProgressEventHandler()
获取进度事件处理程序。
值:进度事件处理程序。
Returns: ProgressEventHandler - the progress event handler.
setProgressEventHandler(ProgressEventHandler value)
public void setProgressEventHandler(ProgressEventHandler value)
设置进度事件处理程序。
值:进度事件处理程序。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | ProgressEventHandler | 进度事件处理程序。 |
Example: The following example shows how to print information about progress events for load/export operations.
String dir = "c:\\aspose.imaging\\java\\issues\\1440\\";
String fileName = dir + "big.png";
// 示例:在加载/导出操作中使用独立的操作进度事件处理程序
final com.aspose.imaging.ProgressEventHandler loadHandler = new com.aspose.imaging.ProgressEventHandler() {
@Override
public void invoke(com.aspose.imaging.progressmanagement.ProgressEventHandlerInfo info) {
System.out.format("Load event %s : %d/%d\n", com.aspose.imaging.progressmanagement.EventType.toString(com.aspose.imaging.progressmanagement.EventType.class, info.getEventType()), info.getValue(), info.getMaxValue());
}
};
final com.aspose.imaging.ProgressEventHandler exportHandler = new com.aspose.imaging.ProgressEventHandler() {
@Override
public void invoke(com.aspose.imaging.progressmanagement.ProgressEventHandlerInfo info) {
System.out.format("Export event %s : %d/%d\n", com.aspose.imaging.progressmanagement.EventType.toString(com.aspose.imaging.progressmanagement.EventType.class, info.getEventType()), info.getValue(), info.getMaxValue());
}
};
com.aspose.imaging.Image image = com.aspose.imaging.Image.load(fileName, new com.aspose.imaging.LoadOptions() {{ setProgressEventHandler(loadHandler); }} );
try {
image.save(fileName + ".psd",
new com.aspose.imaging.imageoptions.PsdOptions() {{ setProgressEventHandler( exportHandler); }});
}
finally {
image.close();
}
// STDOUT 日志可能如下所示:
// 加载事件 初始化 : 1/4
// 加载事件 预处理 : 2/4
// 加载事件 处理 : 3/4
// 加载事件 完成 : 4/4
// 导出事件 初始化 : 1/4
// 导出事件 预处理 : 2/4
// 导出事件 处理 : 3/4
// 导出事件 相对进度 : 1/1
// 加载事件 相对进度 : 1/1
// 导出事件 完成 : 4/4
deepClone()
public ImageOptionsBase deepClone()
克隆此实例。
Returns: ImageOptionsBase - Returns shallow copy of this instance
trySetMetadata(IImageMetadataFormat metadata)
public final boolean trySetMetadata(IImageMetadataFormat metadata)
尝试设置一个 metadata 实例,如果此 Image 实例支持并实现 IImageMetadataFormat 实例。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| metadata | IImageMetadataFormat | 元数据。 |
Returns: boolean - 如果 IMetadataContainer 实例支持和/或实现 IImageMetadataFormat 实例,则为 True;否则为 false。