类 RasterImage
内容
[
隐藏
]RasterImage class
表示支持光栅图形操作的光栅图像。
public abstract class RasterImage : Image, IRasterImageArgb32PixelLoader
属性
| 名称 | 描述 |
|---|---|
| AutoAdjustPalette { get; set; } | 获取或设置指示是否自动调整调色板的值。 |
| virtual BackgroundColor { get; set; } | 获取或设置背景颜色的值。 |
| abstract BitsPerPixel { get; } | 获取图像的每像素位数。 |
| Bounds { get; } | 获取图像的边界。 |
| BufferSizeHint { get; set; } | 获取或设置缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。 |
| Container { get; } | 获取 Image 容器。 |
| DataStreamContainer { get; } | 获取对象的数据流。 |
| Disposed { get; } | 获取一个值,指示此实例是否已释放。 |
| ExifData { get; set; } | 获取或设置 Exif 数据。 |
| virtual FileFormat { get; } | 获取文件格式的值 |
| virtual HasAlpha { get; } | 获取一个值,指示此实例是否具有 alpha。 |
| virtual HasBackgroundColor { get; set; } | 获取或设置指示图像是否具有背景颜色的值。 |
| virtual HasTransparentColor { get; set; } | 获取或设置一个值,指示此 RasterImage 实例是否具有透明颜色。 |
| abstract Height { get; } | 获取图像高度。 |
| virtual HorizontalResolution { get; set; } | 获取或设置此 RasterImage 的水平分辨率(每英寸像素数)。 |
| virtual ImageOpacity { get; } | 获取此图像的不透明度。 |
| InterruptMonitor { get; set; } | 获取或设置中断监视器。 |
| abstract IsCached { get; } | 获取一个值,指示对象的数据当前是否已缓存且无需读取数据。 |
| IsRawDataAvailable { get; } | 获取指示是否可进行原始数据加载的值。 |
| virtual Metadata { get; } | 获取图像元数据。 |
| Palette { get; set; } | 获取或设置颜色调色板。当像素直接表示时,调色板不被使用。 |
| virtual PremultiplyComponents { get; set; } | 获取或设置一个值,指示图像组件是否必须预乘。 |
| RawCustomColorConverter { get; set; } | 获取或设置自定义颜色转换器 |
| virtual RawDataFormat { get; } | 获取原始数据格式。 |
| RawDataSettings { get; } | 获取当前原始数据设置。注意,使用这些设置时数据将在不进行转换的情况下加载。 |
| RawFallbackIndex { get; set; } | 获取或设置调色板索引超出范围时使用的回退索引 |
| RawIndexedColorConverter { get; set; } | 获取或设置索引颜色转换器 |
| virtual RawLineSize { get; } | 获取原始行大小(字节)。 |
| Size { get; } | 获取图像尺寸。 |
| virtual TransparentColor { get; set; } | 获取图像透明颜色。 |
| virtual UpdateXmpData { get; set; } | 获取或设置一个值,指示是否更新 XMP 元数据。 |
| override UsePalette { get; } | 获取一个值,指示是否使用图像调色板。 |
| virtual UseRawData { get; set; } | 获取或设置一个值,指示在可用原始数据加载时是否使用原始数据加载。 |
| virtual VerticalResolution { get; set; } | 获取或设置此 RasterImage 的垂直分辨率(每英寸像素数)。 |
| abstract Width { get; } | 获取图像宽度。 |
| XmpData { get; set; } | 获取或设置 Xmp 数据。 |
方法
| 名称 | 描述 |
|---|---|
| virtual AdjustBrightness(int) | 调整图像的亮度。 |
| virtual AdjustContrast(float) | 图像对比度。 |
| virtual AdjustGamma(float) | 图像的伽马校正。 |
| virtual AdjustGamma(float, float, float) | 图像的伽马校正。 |
| virtual AnalyzePercentageDigitalSignature(string) | 计算提取数据与原始密码之间的相似度百分比。 |
| virtual AutoBrightnessContrast() | 对整幅图像进行自动自适应亮度和对比度归一化。 |
| AutoRotate() | 自动根据从 Exif 元数据提取的方向数据旋转图像。此方法确保图像以正确的方向显示,提升用户体验并消除手动调整的需求。通过分析 Exif 信息,图像相应地被旋转,提供跨平台和设备的无缝观看体验。此自动旋转过程简化了图像处理,并在处理大量方向各异的图像时提升整体可用性。 |
| virtual BinarizeBradley(double) | 使用 Bradley 自适应阈值算法和积分图阈值对图像进行二值化 |
| virtual BinarizeBradley(double, int) | 使用 Bradley 自适应阈值算法和积分图阈值对图像进行二值化 |
| virtual BinarizeFixed(byte) | 使用预定义阈值对图像进行二值化 |
| virtual BinarizeOtsu() | 使用 Otsu 阈值法对图像进行二值化 |
| Blend(Point, RasterImage, byte) | 将此图像实例与 overlay 图像混合。 |
| virtual Blend(Point, RasterImage, Rectangle, byte) | 将此图像实例与 overlay 图像混合。 |
| abstract CacheData() | 缓存数据并确保不会从底层 DataStreamContainer 再进行额外的数据加载。 |
| CanSave(ImageOptionsBase) | 确定图像是否可以保存为传入保存选项所表示的指定文件格式。 |
| virtual Crop(Rectangle) | 裁剪指定的矩形。 |
| virtual Crop(int, int, int, int) | 使用位移裁剪图像。 |
| Dispose() | 释放当前实例。 |
| Dither(DitheringMethod, int) | 对当前图像执行抖动处理。 |
| abstract Dither(DitheringMethod, int, IColorPalette) | 对当前图像执行抖动处理。 |
| virtual EmbedDigitalSignature(string) | 使用隐写技术将基于提供的密码的数字签名嵌入图像中。 |
| virtual Filter(Rectangle, FilterOptionsBase) | 过滤指定的矩形。 |
| GetArgb32Pixel(int, int) | 获取图像的 32 位 ARGB 像素。 |
| GetDefaultArgb32Pixels(Rectangle) | 获取默认的 32 位 ARGB 像素数组。 |
| virtual GetDefaultOptions(object[]) | 获取默认选项。 |
| GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) | 使用部分像素加载器获取默认像素数组。 |
| GetDefaultRawData(Rectangle, RawDataSettings) | 获取默认原始数据数组。 |
| GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) | 使用部分像素加载器获取默认原始数据数组。 |
| virtual GetModifyDate(bool) | 获取资源图像最近修改的日期和时间。 |
| virtual GetOriginalOptions() | 获取基于原始文件设置的选项。这有助于保持原始图像的位深度和其他参数不变。例如,如果我们加载一个每像素 1 位的黑白 PNG 图像,然后使用 Save 方法保存,它将生成每像素 8 位的输出 PNG 图像。为避免这种情况并以每像素 1 位保存 PNG 图像,请使用此方法获取相应的保存选项,并将其作为第二个参数传递给 Save 方法。 |
| GetPixel(int, int) | 获取图像像素。 |
| virtual GetSerializedStream(ImageOptionsBase, Rectangle, out int) | 转换为 aps。 |
| GetSkewAngle() | 获取倾斜角度。此方法适用于扫描的文本文档,用于在扫描时确定倾斜角度。 |
| virtual Grayscale() | 将图像转换为灰度表示 |
| virtual IsDigitalSigned(string, int) | 快速检查图像是否已数字签名,使用提供的密码和阈值。 |
| LoadArgb32Pixels(Rectangle) | 加载 32 位 ARGB 像素。 |
| LoadArgb64Pixels(Rectangle) | 加载 64 位 ARGB 像素。 |
| LoadCmyk32Pixels(Rectangle) | 加载 CMYK 格式的像素。 |
| LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) | 按包部分加载 32 位 ARGB 像素。 |
| LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) | 按包部分加载 64 位 ARGB 像素。 |
| LoadPartialPixels(Rectangle, IPartialPixelLoader) | 按包部分加载像素。 |
| LoadPixels(Rectangle) | 加载像素。 |
| LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) | 加载原始数据。 |
| LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) | 加载原始数据。 |
| NormalizeAngle() | 归一化角度。此方法适用于扫描的文本文档,以消除倾斜扫描。此方法使用GetSkewAngle 和 Rotate 方法。 |
| virtual NormalizeAngle(bool, Color) | 归一化角度。此方法适用于扫描的文本文档,以消除倾斜扫描。此方法使用GetSkewAngle 和 Rotate 方法。 |
| virtual NormalizeHistogram() | 归一化图像直方图——调整像素值以使用全部可用范围。 |
| ReadArgb32ScanLine(int) | 按指定的扫描线索引读取整条扫描线。 |
| ReadScanLine(int) | 按指定的扫描线索引读取整条扫描线。 |
| override RemoveMetadata() | 通过将此XmpData 值设为 null 来移除此图像实例的元数据。 |
| ReplaceColor(Color, byte, Color) | 将一种颜色替换为另一种颜色,允许差异并保留原始 alpha 值以保持平滑边缘。 |
| virtual ReplaceColor(int, byte, int) | 将一种颜色替换为另一种颜色,允许差异并保留原始 alpha 值以保持平滑边缘。 |
| ReplaceNonTransparentColors(Color) | 将所有非透明颜色替换为新颜色,并保留原始 alpha 值以保持平滑边缘。注意:如果在没有透明度的图像上使用,它将把所有颜色替换为单一颜色。 |
| virtual ReplaceNonTransparentColors(int) | 将所有非透明颜色替换为新颜色,并保留原始 alpha 值以保持平滑边缘。注意:如果在没有透明度的图像上使用,它将把所有颜色替换为单一颜色。 |
| Resize(int, int) | 调整图像大小。默认使用 NearestNeighbourResample。 |
| override Resize(int, int, ImageResizeSettings) | 使用扩展选项调整图像大小。 |
| virtual Resize(int, int, ResizeType) | 调整图像大小。 |
| ResizeHeightProportionally(int) | 按比例调整高度。默认使用 NearestNeighbourResample。 |
| virtual ResizeHeightProportionally(int, ImageResizeSettings) | 按比例调整高度。 |
| virtual ResizeHeightProportionally(int, ResizeType) | 按比例调整高度。 |
| ResizeWidthProportionally(int) | 按比例调整宽度。使用默认的 NearestNeighbourResample。 |
| virtual ResizeWidthProportionally(int, ImageResizeSettings) | 按比例调整宽度。 |
| virtual ResizeWidthProportionally(int, ResizeType) | 按比例调整宽度。 |
| override Rotate(float) | 围绕中心旋转图像。 |
| virtual Rotate(float, bool, Color) | 围绕中心旋转图像。 |
| abstract RotateFlip(RotateFlipType) | 旋转、翻转或同时旋转和翻转图像。 |
| Save() | 将图像数据保存到底层流。 |
| Save(Stream) | 将对象的数据保存到指定的流。 |
| override Save(string) | 将图像保存到指定的文件位置。 |
| Save(Stream, ImageOptionsBase) | 根据保存选项,将图像数据以指定的文件格式保存到指定的流中。 |
| virtual Save(string, bool) | 将对象的数据保存到指定的文件位置。 |
| virtual Save(string, ImageOptionsBase) | 根据保存选项,将对象的数据以指定的文件格式保存到指定的文件位置。 |
| override Save(Stream, ImageOptionsBase, Rectangle) | 根据保存选项,将图像数据以指定的文件格式保存到指定的流中。 |
| virtual Save(string, ImageOptionsBase, Rectangle) | 根据保存选项,将对象的数据以指定的文件格式保存到指定的文件位置。 |
| SaveArgb32Pixels(Rectangle, int[]) | 保存 32 位 ARGB 像素。 |
| SaveCmyk32Pixels(Rectangle, int[]) | 保存像素。 |
| SavePixels(Rectangle, Color[]) | 保存像素。 |
| SaveRawData(byte[], int, Rectangle, RawDataSettings) | 保存原始数据。 |
| SetArgb32Pixel(int, int, int) | 为指定位置设置图像的 32 位 ARGB 像素。 |
| override SetPalette(IColorPalette, bool) | 设置图像调色板。 |
| SetPixel(int, int, Color) | 为指定位置设置图像像素。 |
| virtual SetResolution(double, double) | 设置此 RasterImage 的分辨率。 |
| virtual ToBitmap() | 将光栅图像转换为位图。此方法在 .Net7.0 及更高版本中不受支持。 |
| virtual TrySetMetadata(IImageMetadataFormat) | 尝试设置一个 metadata 实例,如果此 Image 实例支持并实现了 IImageMetadataFormat 类型。 |
| WriteArgb32ScanLine(int, int[]) | 将整条扫描线写入指定的扫描线索引。 |
| WriteScanLine(int, Color[]) | 将整条扫描线写入指定的扫描线索引。 |
示例
本示例展示了如何将像素信息加载到 Color 类型的数组中,操作该数组并将其设置回图像。为执行这些操作,示例使用 MemoryStream 对象创建一个新的(GIF 格式)图像文件。
[C#]
//创建 MemoryStream 的实例
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//创建 GifOptions 的实例并设置其各种属性,包括 Source 属性
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//创建 Image 的实例
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//通过将区域指定为图像边界来获取图像像素
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//遍历数组并设置交替索引像素的颜色
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//将索引像素颜色设置为黄色
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//将索引像素颜色设置为蓝色
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//将像素更改应用到图像
image.SavePixels(image.Bounds, pixels);
// 保存所有更改。
image.Save();
}
// 将 MemoryStream 写入文件
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
另请参见
- class Image
- interface IRasterImageArgb32PixelLoader
- namespace Aspose.Imaging
- assembly Aspose.Imaging