Class PsdImage

PsdImage class

定义了 PsdImage 类,它提供加载、编辑、保存 PSD 文件以及 更新属性、添加水印、执行图形操作或将一种文件格式转换为另一种文件格式的能力。 Aspose.PSD 支持作为图层导入并导出到以下格式: Png、Jpeg、Jpeg2000、Gif、Bmp、Tiff、Psd、Psb 以及导出为带有可选文本的 Pdf

public sealed class PsdImage : RasterCachedImage

构造函数

姓名描述
PsdImage(RasterImage)初始化一个新的实例PsdImage来自现有光栅图像(非 psd 图像)的类,具有 RGB 颜色模式,4 通道 8 位/通道且无压缩.
PsdImage(Stream)初始化一个新的实例PsdImage来自光栅图像(不是流中的 psd 图像)的指定路径的类。用于使用默认参数初始化 psd 图像 - 颜色模式 - rgb,4 通道,每通道 8 位,压缩 - Raw.
PsdImage(string)初始化一个新的实例PsdImage来自光栅图像(不是路径中的 psd 图像)的指定路径的类。用于使用默认参数初始化 psd 图像 - 颜色模式 - rgb,4 通道,每通道 8 位,压缩 - Raw.
PsdImage(int, int)初始化一个新的实例PsdImage具有指定宽度和高度的类。用于初始化空psd图像.
PsdImage(RasterImage, ColorModes, short, short, int, CompressionMethod)初始化一个新的实例PsdImage来自具有构造函数参数的现有光栅图像(不是 psd 图像)的类.
PsdImage(Stream, ColorModes, short, short, int, CompressionMethod)初始化一个新的实例PsdImage来自具有构造函数参数的光栅图像(不是流中的 psd 图像)的指定路径的类。
PsdImage(string, ColorModes, short, short, int, CompressionMethod)初始化一个新的实例PsdImage来自具有构造函数参数的光栅图像(不是路径中的 psd 图像)的指定路径的类.
PsdImage(int, int, IColorPalette, ColorModes, short, short, int, CompressionMethod)初始化一个新的实例PsdImage具有指定宽度、高度、调色板、颜色模式、通道数和通道位长度以及指定压缩模式参数的类。用于初始化空psd图像.

特性

姓名描述
ActiveLayer { get; set; }获取或设置活动层。
AutoAdjustPalette { get; set; }获取或设置一个值,指示是否自动调整调色板。
virtual BackgroundColor { get; set; }获取或设置背景颜色的值。
BitsPerChannel { get; }获取每个通道的位数。
override BitsPerPixel { get; }获取每像素计数的图像位数。
Bounds { get; }获取图像边界。
BufferSizeHint { get; set; }获取或设置缓冲区大小提示,它是为所有内部缓冲区定义的最大允许大小。
ChannelsCount { get; }获取 PSD 通道数。
CmykColorProfile { get; set; }获取或设置 CMYK PSD 图像的 CMYK 颜色配置文件。必须与 RgbColorProfile 配对才能进行正确的颜色转换。
ColorMode { get; set; }获取或设置颜色模式。
Compression { get; }获取压缩方式。
Container { get; }获取Image容器.
DataStreamContainer { get; }获取对象的数据流。
Disposed { get; }获取一个值,该值表示该实例是否被释放。
override FileFormat { get; }获取文件格式 的值
GlobalAngle { get; set; }获取或设置全局角度。
GlobalLayerMaskInfo { get; }获取全局图层蒙版信息。
GlobalLayerResources { get; set; }获取或设置全局图层资源。
GrayColorProfile { get; set; }获取或设置灰度 PSD 图像的 GRAY(单色)颜色配置文件。
override HasAlpha { get; }获取或设置垂直分辨率,以每英寸像素为单位,RasterImage .
virtual HasBackgroundColor { get; set; }获取或设置图像是否有背景色的值。
HasTransparencyData { get; set; }获取或设置一个值,该值指示在指定图层数据时第一个 alpha 通道是否包含合并结果的透明度数据。
virtual HasTransparentColor { get; set; }获取图像是否有透明色的值。
override Height { get; }获取图像高度。
override HorizontalResolution { get; set; }获取或设置水平分辨率,以每英寸像素为单位,PsdImage .
virtual ImageOpacity { get; }获取此图像的不透明度。
ImageResources { get; set; }获取或设置 PSD 图片资源。
InterruptMonitor { get; set; }获取或设置中断监视器。
override IsCached { get; }获取当前是否缓存图像数据的值。
IsFlatten { get; }获取一个值,表示psd图像是否被压平。
IsRawDataAvailable { get; }获取原始数据加载是否可用的值。
Layers { get; set; }获取或设置 PSD 图层。
LinkedLayersManager { get; }获取链接层管理器。
Palette { get; set; }获取或设置调色板。直接表示像素时不使用调色板。
virtual PremultiplyComponents { get; set; }获取或设置一个值,指示图像分量是否必须预乘。
RawCustomColorConverter { get; set; }获取或设置自定义颜色转换器
override RawDataFormat { get; }获取原始数据格式。
RawDataSettings { get; }获取当前原始数据设置。请注意,使用这些设置时,数据加载时无需转换。
RawFallbackIndex { get; set; }获取或设置调色板索引超出范围时使用的回退索引
RawIndexedColorConverter { get; set; }获取或设置索引颜色转换器
virtual RawLineSize { get; }获取以字节为单位的原始行大小。
RgbColorProfile { get; set; }获取或设置 CMYK PSD 图像的 RGB 颜色配置文件。必须与 CmykColorProfile 配对才能进行正确的颜色转换。
Size { get; }获取图像大小。
SmartObjectProvider { get; }获取智能对象提供者。
virtual TransparentColor { get; set; }获取图像透明色。
virtual UpdateXmpData { get; set; }获取或设置一个值,指示是否更新 XMP 元数据。
virtual UseRawData { get; set; }获取或设置当原始数据加载可用时是否使用原始数据加载的值。
Version { get; set; }获取或设置版本。
override VerticalResolution { get; set; }获取或设置垂直分辨率,以每英寸像素为单位,PsdImage .
override Width { get; }获取图像宽度。
override XmpData { get; set; }获取或设置 XMP 元数据。

方法

姓名描述
AddBlackWhiteAdjustmentLayer()添加黑白调整图层。
AddBrightnessContrastAdjustmentLayer(int, int)添加亮度/对比度调整层。
AddChannelMixerAdjustmentLayer()添加默认参数的通道混合器调整层
AddColorBalanceAdjustmentLayer()添加色彩平衡调整层。
AddCurvesAdjustmentLayer()添加曲线调整图层。
AddExposureAdjustmentLayer(float, float, float)添加曝光调整层。
AddHueSaturationAdjustmentLayer()添加色相/饱和度调整层。
AddInvertAdjustmentLayer()添加一个反转调整层。
AddLayer(Layer)添加图层。
AddLayerGroup(string, int, bool)添加层组。
AddLevelsAdjustmentLayer()添加色阶调整图层。
AddPhotoFilterLayer(Color)添加 PhotoFilter 层。
AddRegularLayer()添加一个新的常规层。
AddTextLayer(string, Rectangle)添加一个新的文本层。
AddVibranceAdjustmentLayer()添加振动调整层。
override AdjustBrightness(int)调整图像的亮度。
override AdjustContrast(float)图像对比
override AdjustGamma(float)图像的伽马校正。
override AdjustGamma(float, float, float)图像的伽马校正。
override BinarizeBradley(double)使用 Bradley 自适应阈值算法对图像进行二值化,使用积分图像阈值
override BinarizeBradley(double, int)使用 Bradley 自适应阈值算法对图像进行二值化,使用积分图像阈值
override BinarizeFixed(byte)具有预定义阈值的图像二值化
override BinarizeOtsu()使用 Otsu 阈值对图像进行二值化
override CacheData()缓存数据并确保不会从底层执行额外的数据加载DataStreamContainer .
CanSave(ImageOptionsBase)确定图像是否可以保存为传递的保存选项所代表的指定文件格式。
Convert(PsdOptions)将此图像格式转换为选项中指定的格式。
override Crop(Rectangle)裁剪图像。
virtual Crop(int, int, int, int)带位移的裁剪图像。
Dispose()处理当前实例。
Dither(DitheringMethod, int)对当前图像执行抖动。
override Dither(DitheringMethod, int, IColorPalette)对当前图像执行抖动。
override Filter(Rectangle, FilterOptionsBase)过滤指定矩形。
FlattenImage()压平所有层。
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 图像,然后使用 the 保存Save方法,将生成每像素 8 位的输出 PNG 图像。 要避免它并保存每像素 1 位的 PNG 图像,请使用此方法获取相应的保存选项并将它们 传递给Save方法作为第二个参数.
GetPixel(int, int)获取图像像素。
GetSkewAngle()获取倾斜角度。 该方法适用于扫描的文本文档,用于确定扫描时的倾斜角度。
override Grayscale()将图像转换为灰度表示
LoadArgb32Pixels(Rectangle)加载 32 位 ARGB 像素。
LoadArgb64Pixels(Rectangle)加载 64 位 ARGB 像素。
LoadCmyk32Pixels(Rectangle)以 CMYK 格式加载像素。
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)按包加载部分 32 位 ARGB 像素。
LoadPartialPixels(Rectangle, IPartialPixelLoader)按包加载部分像素。
LoadPixels(Rectangle)加载像素。
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)加载原始数据。
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)加载原始数据。
MergeLayers(Layer, Layer)合并图层。
NormalizeAngle()归一化角度。 此方法适用于扫描的文本文档,以消除倾斜扫描。 此方法使用GetSkewAngleRotate方法.
virtual NormalizeAngle(bool, Color)归一化角度。 此方法适用于扫描的文本文档,以消除倾斜扫描。 此方法使用GetSkewAngleRotate方法.
ReadArgb32ScanLine(int)按指定扫描线索引读取整条扫描线。
ReadScanLine(int)按指定扫描线索引读取整条扫描线。
ReplaceColor(Color, byte, Color)将一种颜色替换为具有允许差异的另一种颜色并保留原始 alpha 值以保存平滑的边缘。
override ReplaceColor(int, byte, int)将一种颜色替换为具有允许差异的另一种颜色并保留原始 alpha 值以保存平滑的边缘。
ReplaceNonTransparentColors(Color)用新颜色替换所有非透明颜色并保留原始 alpha 值以保存平滑边缘。 注意:如果您在没有透明度的图像上使用它,所有颜色将被替换为一个颜色。
override ReplaceNonTransparentColors(int)用新颜色替换所有非透明颜色并保留原始 alpha 值以保存平滑边缘。 注意:如果您在没有透明度的图像上使用它,所有颜色将被替换为一个颜色。
Resize(int, int)调整图像大小。默认值LeftTopToLeftTop使用.
override Resize(int, int, ImageResizeSettings)调整图像大小。
override Resize(int, int, ResizeType)调整图像大小。
ResizeHeightProportionally(int)按比例调整高度。
override ResizeHeightProportionally(int, ImageResizeSettings)按比例调整高度。
override ResizeHeightProportionally(int, ResizeType)按比例调整高度。
ResizeWidthProportionally(int)按比例调整宽度。
override ResizeWidthProportionally(int, ImageResizeSettings)按比例调整宽度。
override ResizeWidthProportionally(int, ResizeType)按比例调整宽度。
override Rotate(float)围绕中心旋转图像。
override Rotate(float, bool, Color)围绕中心旋转图像。
override RotateFlip(RotateFlipType)旋转、翻转或旋转并翻转图像。
Save()将图像数据保存到底层流中。
virtual Save(Stream)将对象的数据保存到指定的流中。
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()将光栅图像转换为位图。
WriteArgb32ScanLine(int, int[])将整个扫描线写入指定的扫描线索引。
WriteScanLine(int, Color[])将整个扫描线写入指定的扫描线索引。

字段

姓名描述
const DefaultVersion默认 PSD 版本。

例子

以下代码演示了按特定角度值旋转图像的能力。

[C#]

string sourceFileName = "TheHat.psd";
var pngOptions = new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha };

// 整个图像旋转
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
    for (int i = 0; i < 4; i++)
    {
        int angle = i * 45;
        image.Rotate(angle);

        string outFileName = "TheHatRotated" + angle + ".png";

        image.Save(outFileName, pngOptions);
    }
}

//图层旋转
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
    for (int i = 0; i < 4; i++)
    {
        int angle = i * 45;
        image.Layers[1].Rotate(angle);

        string outFileName = "TheHatLayerRotated" + angle + ".png";

        image.Save(outFileName, pngOptions);
    }
}

也可以看看