SvgImage

SvgImage class

表示 SVG 图像类。

public sealed class SvgImage : VectorImage

构造函数

姓名描述
SvgImage(Stream)初始化SvgImage类.
SvgImage(string)初始化SvgImage类.
SvgImage(int, int)初始化SvgImage类.
SvgImage(SvgOptions, int, int)初始化SvgImage类.

特性

姓名描述
AutoAdjustPalette { get; set; }获取或设置是否自动调整调色板的值。
virtual BackgroundColor { get; set; }获取或设置背景颜色的值。
override BitsPerPixel { get; }获取每像素的图像位数此参数不适用于矢量图像
Bounds { get; }获取图像边界。
BufferSizeHint { get; set; }获取或设置缓冲区大小提示,该提示定义了所有内部缓冲区的最大允许大小。
Container { get; }获取Image容器.
DataStreamContainer { get; }获取对象的数据流。
Disposed { get; }获取一个值,该值指示此实例是否被释放。
override FileFormat { get; }获取文件格式的值
virtual HasBackgroundColor { get; set; }获取或设置图像是否有背景色的值。
override Height { get; }获取图像高度。
virtual HeightF { get; }获取对象高度,以英寸为单位。
InterruptMonitor { get; set; }获取或设置中断监视器。
override IsCached { get; }获取一个值,表示对象的数据当前是否被缓存,不需要读取数据。
Palette { get; set; }获取或设置调色板。直接表示像素时不使用调色板。
Size { get; }获取图像大小。
SizeF { get; }获取对象大小,以英寸为单位。
virtual UsePalette { get; }获取指示是否使用图像调色板的值。
override Width { get; }获取图像宽度。
virtual WidthF { get; }获取对象宽度,以英寸为单位。

方法

姓名描述
override CacheData()缓存数据并确保不会从底层执行额外的数据加载DataStreamContainer .
CanSave(ImageOptionsBase)判断图像是否可以保存为传递的保存选项所代表的指定文件格式。
Dispose()处理当前实例。
override GetDefaultOptions(object[])获取默认选项。
virtual GetEmbeddedImages()获取嵌入的图像。
virtual GetOriginalOptions()获取基于原始文件设置的选项。 这有助于保持原始图像的位深度和其他参数不变。 例如,如果我们加载一个每像素 1 位的黑白 PNG 图像,然后使用 the 保存它Save方法,将产生每像素8位的输出PNG图像。 为了避免它并以每像素1位保存PNG图像,使用此方法获取相应的保存选项并将它们 传递给Save方法作为第二个参数。
Resize(int, int)调整图像大小。默认NearestNeighbourResample已使用。
override Resize(int, int, ImageResizeSettings)调整图像大小。
override 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 RotateFlip(RotateFlipType)旋转、翻转或旋转和翻转图像。
Save()将图像数据保存到底层流。
Save(Stream)将对象的数据保存到指定的流中。
override Save(string)将图像保存到指定的文件位置。
Save(Stream, ImageOptionsBase)根据保存选项将图像的数据以指定的文件格式保存到指定的流中。
virtual Save(string, bool)将对象的数据保存到指定的文件位置。
virtual Save(string, ImageOptionsBase)根据保存选项将对象的数据以指定的文件格式保存到指定的文件位置。
virtual Save(Stream, ImageOptionsBase, Rectangle)根据保存选项将图像的数据以指定的文件格式保存到指定的流中。
virtual Save(string, ImageOptionsBase, Rectangle)根据保存选项将对象的数据以指定的文件格式保存到指定的文件位置。
override SetPalette(IColorPalette, bool)设置图像调色板。

例子

以下示例显示如何将 svgz 图像转换为 svg fromat

[C#]

string file = "example.svgz";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".svg";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.SvgRasterizationOptions() { PageSize = image.Size};
    image.Save(outFile, new Aspose.Imaging.ImageOptions.SvgOptions() {VectorRasterizationOptions = vectorRasterizationOptions});
}

以下示例显示如何将 svg 图像转换为 svgz fromat

[C#]

string file = "juanmontoya_lingerie.svg";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".svgz";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.SvgRasterizationOptions() { PageSize = image.Size};
    image.Save(outFile, new Aspose.Imaging.ImageOptions.SvgOptions() {VectorRasterizationOptions = vectorRasterizationOptions, Compress = true});
}

此示例说明如何从文件流加载 SVG 图像并将其光栅化为 PNG。

[C#]

string dir = "c:\\temp\\";

// 从文件流中加载 SVG 图像。
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "test.svg"))
using (Aspose.Imaging.FileFormats.Svg.SvgImage svgImage = new Aspose.Imaging.FileFormats.Svg.SvgImage(stream))
{
    // 为了光栅化 SVG,我们需要指定光栅化选项。
    Aspose.Imaging.ImageOptions.SvgRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.SvgRasterizationOptions();
    Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
    saveOptions.VectorRasterizationOptions = rasterizationOptions;

    svgImage.Save(dir + "test.output.png", saveOptions);
}

以下示例显示如何将压缩图像(.emz、.wmz、*.svgz)转换为光栅 fromat

[C#]

string[] files = new[] {"example.emz", "example.wmz", "example.svgz"};
string baseFolder = System.IO.Path.Combine("D:","Compressed");
foreach (var file in files)
{
    string inputFile = System.IO.Path.Combine(baseFolder, file);
    string outFile = inputFile + ".png";
    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
    {
        Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
        image.Save(outFile, new Aspose.Imaging.ImageOptions.PngOptions(){VectorRasterizationOptions = vectorRasterizationOptions});
    }
}

也可以看看