Class PngOptions
内容
[
隐藏
]PngOptions class
png 文件格式创建选项。
public class PngOptions : ImageOptionsBase
构造函数
姓名 | 描述 |
---|---|
PngOptions() | 初始化一个新的实例PngOptions 类. |
PngOptions(PngOptions) | 初始化一个新的实例PngOptions 类. |
特性
姓名 | 描述 |
---|---|
BitDepth { get; set; } | 位深度。 |
BufferSizeHint { get; set; } | 获取或设置缓冲区大小提示,它是为所有内部缓冲区定义的最大允许大小。 |
ColorType { get; set; } | 获取或设置颜色的类型。 |
CompressionLevel { get; set; } | 0-9范围内的png图片压缩级别,其中9为最大压缩,0为存储模式。 |
virtual DefaultReplacementFont { get; set; } | 获取或设置默认替换字体(导出到光栅时将用于绘制文本的字体,如果系统中未显示 PSD 文件中的现有图层字体)。 可以使用下一个代码片段来获取默认字体的正确名称: System.Drawing.Text.InstalledFontCollection col = new System.Drawing.Text.InstalledFontCollection(); System.Drawing.FontFamily[] families = col.Families; string defaultFontName = families[0].Name; PsdLoadOptions psdLoadOptions = new PsdLoadOptions() { DefaultReplacementFont = defaultFontName }); 复制代码 |
Disposed { get; } | 获取一个值,该值表示该实例是否被释放。 |
FilterType { get; set; } | 获取或设置在 png 文件保存过程中使用的过滤器类型。 |
FullFrame { get; set; } | 获取或设置一个值,表示是否[全帧]. |
MultiPageOptions { get; set; } | 多页选项 |
virtual Palette { get; set; } | 获取或设置调色板。 |
ProgressEventHandler { get; set; } | 获取或设置进度事件处理程序。 |
Progressive { get; set; } | 获取或设置一个值,指示是否这PngOptions 是进步的。 |
virtual ResolutionSettings { get; set; } | 获取或设置分辨率设置。 |
Source { get; set; } | 获取或设置创建图像的来源. |
VectorRasterizationOptions { get; set; } | 获取或设置矢量光栅化选项。 |
override XmpData { get; set; } | 获取或设置 XMP 元数据容器。 |
方法
姓名 | 描述 |
---|---|
virtual Clone() | 克隆此实例。 |
Dispose() | 处理当前实例。 |
字段
姓名 | 描述 |
---|---|
const DefaultCompressionLevel | 默认压缩级别。 |
例子
以下示例演示如何在 Aspose.PSD 中将 AI 文件导出为 PSD 和 PNG 格式
[C#]
string sourceFileName = "form_8.ai";
string outputFileName = "form_8_export";
using (AiImage image = (AiImage)Image.Load(sourceFileName))
{
image.Save(outputFileName + ".psd", new PsdOptions());
image.Save(outputFileName + ".png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
此示例演示了使用 SaveOptions 命名空间中的不同类进行导出。 Psd 类型的图像被加载到 Image 的实例中,然后导出为多种格式。
[C#]
//在 Image 类的实例中加载现有图像
using (Aspose.PSD.Image image = Aspose.PSD.Image.Load(@"C:\temp\image.psd"))
{
//使用默认选项导出为BMP文件格式
image.Save(@"C:\temp\output.bmp", new Aspose.PSD.ImageOptions.BmpOptions());
//使用默认选项导出为JPEG文件格式
image.Save(@"C:\temp\output.jpeg", new Aspose.PSD.ImageOptions.JpegOptions());
//使用默认选项导出为 JPEG 2000 文件格式
image.Save(@"C:\temp\output.jp2", new Aspose.PSD.ImageOptions.Jpeg2000Options());
//使用默认选项导出为PNG文件格式
image.Save(@"C:\temp\output.png", new Aspose.PSD.ImageOptions.PngOptions());
//使用默认选项导出为TIFF文件格式
image.Save(@"c:\temp\output.tiff", new Aspose.PSD.ImageOptions.TiffOptions(Aspose.PSD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}
以下示例演示了如何在 Aspose.PSD 中使用 PassThrough 图层混合模式
[C#]
string sourceFileName = "Apple.psd";
string outputFileName = "OutputApple";
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
if (image.Layers.Length < 23)
{
throw new Exception("There is not 23rd layer.");
}
var layer = image.Layers[23] as LayerGroup;
if (layer == null)
{
throw new Exception("The 23rd layer is not a layer group.");
}
if (layer.Name != "AdjustmentGroup")
{
throw new Exception("The 23rd layer name is not 'AdjustmentGroup'.");
}
if (layer.BlendModeKey != BlendMode.PassThrough)
{
throw new Exception("AdjustmentGroup layer should have 'pass through' blend mode.");
}
image.Save(outputFileName + ".psd", new PsdOptions(image));
image.Save(outputFileName + ".png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
layer.BlendModeKey = BlendMode.Normal;
image.Save(outputFileName + "Normal.psd", new PsdOptions(image));
image.Save(outputFileName + "Normal.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
以下示例演示文档转换进度正常且无异常。
[C#]
string sourceFilePath = "Apple.psd";
Stream outputStream = new MemoryStream();
Aspose.PSD.ProgressEventHandler localProgressEventHandler = delegate(ProgressEventHandlerInfo progressInfo)
{
string message = string.Format(
"{0} {1}: {2} out of {3}",
progressInfo.Description,
progressInfo.EventType,
progressInfo.Value,
progressInfo.MaxValue);
Console.WriteLine(message);
};
Console.WriteLine("---------- Loading Apple.psd ----------");
var loadOptions = new PsdLoadOptions() { ProgressEventHandler = localProgressEventHandler };
using (PsdImage image = (PsdImage)Image.Load(sourceFilePath, loadOptions))
{
Console.WriteLine("---------- Saving Apple.psd to PNG format ----------");
image.Save(
outputStream,
new PngOptions()
{
ColorType = PngColorType.Truecolor,
ProgressEventHandler = localProgressEventHandler
});
Console.WriteLine("---------- Saving Apple.psd to PSD format ----------");
image.Save(
outputStream,
new PsdOptions()
{
ColorMode = ColorModes.Rgb,
ChannelsCount = 4,
ProgressEventHandler = localProgressEventHandler
});
}
此示例使用 Graphics 类在 Image 表面上创建原始形状。为了演示该操作,该示例创建了一个 PSD 格式的新图像,并使用 Graphics 类公开的 Draw 方法在图像表面绘制原始形状,然后将其导出为 PSD 文件格式。
[C#]
//创建图像实例
using (Aspose.PSD.Image image = new Aspose.PSD.FileFormats.Psd.PsdImage(500, 500))
{
//创建并初始化Graphics类的实例
Aspose.PSD.Graphics graphics = new Aspose.PSD.Graphics(image);
//清除图形表面
graphics.Clear(Color.Wheat);
//通过指定具有黑色的 Pen 对象绘制弧形,
//围绕圆弧、起始角和扫描角的矩形
graphics.DrawArc(new Pen(Color.Black, 2), new Rectangle(200, 200, 100, 200), 0, 300);
//通过指定具有蓝色和坐标点的 Pen 对象来绘制贝塞尔曲线。
graphics.DrawBezier(new Pen(Color.Blue, 2), new Point(250, 100), new Point(300, 30), new Point(450, 100), new Point(235, 25));
//通过指定具有绿色和点数组的 Pen 对象来绘制曲线
graphics.DrawCurve(new Pen(Color.Green, 2), new[] { new Point(100, 200), new Point(100, 350), new Point(200, 450) });
//使用 Pen 对象和周围的矩形绘制一个椭圆
graphics.DrawEllipse(new Pen(Color.Yellow, 2), new Rectangle(300, 300, 100, 100));
//画一条线
graphics.DrawLine(new Pen(Color.Violet, 2), new Point(100, 100), new Point(200, 200));
//绘制饼图
graphics.DrawPie(new Pen(Color.Silver, 2), new Rectangle(new Point(200, 20), new Size(200, 200)), 0, 45);
//通过指定具有红色和点数组的 Pen 对象来绘制多边形
graphics.DrawPolygon(new Pen(Color.Red, 2), new[] { new Point(20, 100), new Point(20, 200), new Point(220, 20) });
//画一个矩形
graphics.DrawRectangle(new Pen(Color.Orange, 2), new Rectangle(new Point(250, 250), new Size(100, 100)));
//创建一个SolidBrush对象并设置它的各种属性
Aspose.PSD.Brushes.SolidBrush brush = new Aspose.PSD.Brushes.SolidBrush();
brush.Color = Color.Purple;
brush.Opacity = 100;
//在特定点使用 SolidBrush 对象和字体绘制字符串
graphics.DrawString("This image is created by Aspose.PSD API", new Font("Times New Roman", 16), brush, new PointF(50, 400));
//创建一个PngOptions实例并设置它的各种属性
Aspose.PSD.ImageOptions.PngOptions pngOptions = new Aspose.PSD.ImageOptions.PngOptions();
// 保存所有更改。
image.Save("C:\\temp\\output.png", pngOptions);
}
也可以看看
- class ImageOptionsBase
- 命名空间 Aspose.PSD.ImageOptions
- 部件 Aspose.PSD