IcoImage 类

IcoImage class

使用我们的 API 轻松操作 ICO 图像文件,支持包括 PNG 和 BMP 在内的多种文件格式和帧类型。自定义每像素位数设置并无缝更新图像尺寸,确保在不同平台上为您的图标提供最佳呈现和兼容性。

public class IcoImage : RasterCachedMultipageImage, IMultipageImageExt

构造函数

名称描述
IcoImage(Image, IcoOptions)为简洁和高效而设计,IcoImage 类使您能够轻松创建 ICO 图像。此构造函数初始化类的新实例,为您的图像操作需求提供坚实基础。无论是开发应用程序还是改进用户界面,IcoImage 类都简化了 ICO 图像管理,让您专注于提供卓越的体验。
IcoImage(int, int, IcoOptions)使用 IcoImage 类轻松开始创建 ICO 图像。此构造函数允许您通过指定宽度、高度和创建选项参数来初始化 ICO 图像的新实例。借助此简洁的构造函数,您可以根据精确规格定制 ICO 图像,确保在不同平台和设备上实现无缝兼容和视觉吸引力。

属性

名称描述
AutoAdjustPalette { get; set; }获取或设置指示是否自动调整调色板的值。
override BackgroundColor { get; set; }获取或设置背景颜色的值。
override BitsPerPixel { get; }获取图像的每像素位数。
Bounds { get; }获取图像的边界。
BufferSizeHint { get; set; }获取或设置缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。
Container { get; }获取 Image 容器。
DataStreamContainer { get; }获取对象的数据流。
Disposed { get; }获取一个值,指示此实例是否已释放。
ExifData { get; set; }获取或设置 Exif 数据。
override FileFormat { get; }使用此属性轻松获取文件格式,实现工作流的无缝集成。通过使用此属性,您可以获取文件格式的关键信息,确保兼容性和高效处理。
override HasAlpha { get; }使用此属性确定此实例是否存在 alpha 通道。它提供了一种快速检查图像或文档是否包含 alpha 通道的方法,这对各种图像处理和渲染任务至关重要。非常适合确保兼容性并处理图像或文档中的透明效果。
virtual HasBackgroundColor { get; set; }获取或设置指示图像是否具有背景颜色的值。
override HasTransparentColor { get; }获取指示图像是否具有透明颜色的值。
override Height { get; }获取图像高度。
virtual HorizontalResolution { get; set; }获取或设置此 RasterImage 的水平分辨率(每英寸像素数)。
override ImageOpacity { get; }获取此图像的不透明度。
InterruptMonitor { get; set; }获取或设置中断监视器。
override IsCached { get; }获取指示图像数据当前是否已缓存的值。
IsRawDataAvailable { get; }获取指示是否可进行原始数据加载的值。
override Metadata { get; }获取或设置帧的 XMP 数据。
override PageCount { get; }通过此简洁属性,您可立即了解文档结构。调用此属性即可轻松获取文件中包含的总页数。
virtual PageExportingAction { get; set; }获取或设置页面导出操作。请注意,设置此方法后将在执行后自动释放页面资源。它将在每个页面保存之前执行。
override Pages { 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 的垂直分辨率(每英寸像素数)。
override Width { get; }获取图像宽度。
XmpData { get; set; }获取或设置 Xmp 数据。

方法

名称描述
AddPage(Image)使用默认的 IcoOptions 设置插入图像页条目,轻松丰富您的 ICO 图像。此方法会将插入的图像便利地转换为 32 位 PNG 格式,确保在 ICO 图像中的兼容性和高质量渲染。非常适合轻松高效地将 PNG 图像无缝集成到您的 ICO 文件中。
AddPage(RasterImage)通过添加图像页条目并利用 IcoOptions,扩展您的 ICO 图像。此方法将光栅图像无缝合并到 ICO 文件中,并转换为高质量的 32 位 PNG 格式。非常适合在确保最佳兼容性和渲染质量的同时,使用光栅图像增强您的 ICO 文件。
AddPage(Image, IcoOptions)使用指定的 IcoOptions 将符合您需求的图像条目集成到 ICO 图像中,轻松实现多样化。此方法根据您自定义的选项无缝合并图像,确保 ICO 文件的灵活性和精确性。
override AdjustBrightness(int)调整图像的 亮度
override AdjustContrast(float)Image 对比
override AdjustGamma(float)图像的伽马校正。
override AdjustGamma(float, float, float)图像的伽马校正。
override AnalyzePercentageDigitalSignature(string)计算提取数据与原始密码之间的相似度百分比。
override AutoBrightnessContrast()对整幅图像执行自动自适应亮度和对比度归一化。
AutoRotate()自动根据从 Exif 元数据提取的方向数据旋转图像。此方法确保图像以正确的方向显示,提升用户体验并消除手动调整的需求。通过分析 Exif 信息,图像相应地被旋转,提供跨平台和设备的无缝观看体验。此自动旋转过程简化了图像处理,并在处理大量方向各异的图像时提升整体可用性。
override BinarizeBradley(double)使用 Bradley 自适应阈值算法和积分图阈值对图像进行二值化
override BinarizeBradley(double, int)使用 Bradley 自适应阈值算法和积分图阈值对图像进行二值化
override BinarizeFixed(byte)使用预定义阈值对图像进行二值化
override BinarizeOtsu()使用 Otsu 阈值法对图像进行二值化
Blend(Point, RasterImage, byte)将此图像实例与 overlay 图像混合。
override Blend(Point, RasterImage, Rectangle, byte)将此图像实例与 overlay 图像混合。
override CacheData()缓存数据为私有。
CanSave(ImageOptionsBase)确定图像是否可以保存为传入保存选项所表示的指定文件格式。
override Crop(Rectangle)裁剪图像。
override Crop(int, int, int, int)使用位移裁剪图像。
Dispose()释放当前实例。
Dither(DitheringMethod, int)对当前图像执行抖动处理。
override Dither(DitheringMethod, int, IColorPalette)对当前图像执行抖动处理。
override EmbedDigitalSignature(string)根据提供的密码将数字签名嵌入图像的每一页。
override 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 方法保存,输出的 PNG 图像将是每像素 8 位。为避免这种情况并以每像素 1 位保存 PNG 图像,请使用此方法获取相应的保存选项,并将其作为第二个参数传递给 Save 方法。
GetPixel(int, int)获取图像像素。
override GetSerializedStream(ImageOptionsBase, Rectangle, out int)转换为 aps。
GetSkewAngle()获取倾斜角度。此方法适用于扫描的文本文档,用于在扫描时确定倾斜角度。
override Grayscale()将图像转换为灰度表示
override 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()归一化角度。此方法适用于扫描的文本文档,以消除倾斜扫描。此方法使用GetSkewAngleRotate 方法。
override NormalizeAngle(bool, Color)归一化角度。此方法适用于扫描的文本文档,以消除倾斜扫描。此方法使用GetSkewAngleRotate 方法。
override NormalizeHistogram()归一化图像直方图——调整像素值以使用全部可用范围。
ReadArgb32ScanLine(int)按指定的扫描线索引读取整条扫描线。
ReadScanLine(int)按指定的扫描线索引读取整条扫描线。
override RemoveMetadata()通过将此XmpData 值设为 null 来移除此图像实例的元数据。
RemovePage(int)通过删除位于文件中指定 index 的特定图像条目,微调您的 ICO 图像。此方法提供对图像组成的精确控制,让您轻松优化 ICO 文件。
ReplaceColor(Color, byte, Color)将一种颜色替换为另一种颜色,允许差异并保留原始 alpha 值以保持平滑边缘。
override ReplaceColor(int, byte, int)将一种颜色替换为另一种颜色,允许差异并保留原始 alpha 值以保持平滑边缘。
ReplaceNonTransparentColors(Color)将所有非透明颜色替换为新颜色,并保留原始 alpha 值以保持平滑边缘。注意:如果在没有透明度的图像上使用,它将把所有颜色替换为单一颜色。
override ReplaceNonTransparentColors(int)将所有非透明颜色替换为新颜色,并保留原始 alpha 值以保持平滑边缘。注意:如果在没有透明度的图像上使用,它将把所有颜色替换为单一颜色。
Resize(int, int)调整图像大小。默认使用 NearestNeighbourResample。
override Resize(int, int, ImageResizeSettings)调整图像大小。
override Resize(int, int, ResizeType)调整图像大小。
ResizeHeightProportionally(int)按比例调整高度。默认使用 NearestNeighbourResample。
virtual ResizeHeightProportionally(int, ImageResizeSettings)按比例调整高度。
override ResizeHeightProportionally(int, ResizeType)按比例调整宽度。
ResizeWidthProportionally(int)按比例调整宽度。使用默认的 NearestNeighbourResample。
virtual ResizeWidthProportionally(int, ImageResizeSettings)按比例调整宽度。
override ResizeWidthProportionally(int, ResizeType)按比例调整宽度。
override Rotate(float)围绕中心旋转图像。
override Rotate(float, bool, Color)Rotate 围绕中心旋转图像。
override 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[])将整条扫描线写入指定的扫描线索引。

另请参见