Class SvgImage

Class SvgImage

名称: Aspose.Imaging.FileFormats.Svg 收藏: Aspose.Imaging.dll (25.4.0)

使用我们的 API 操作 Scalar Vector Graphics (SVG) 图像文件,使用基于XML的文本格式的力量,可无缝定制和可扩展。轻松加载 SVG 图像,拉斯特化 vector 元素,并将其转换为其他格式,同时控制压缩水平,以优化您的项目的文件大小和质量。

[JsonObject(MemberSerialization.OptIn)]
public sealed class SvgImage : VectorImage, IDisposable, IObjectWithBounds, IObjectWithSizeF, IHasXmpData, IHasMetadata

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage SvgImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF , IHasXmpData , IHasMetadata

继承人

VectorImage.GetEmbeddedImages() , VectorImage.RemoveBackground() , VectorImage.RemoveBackground(RemoveBackgroundSettings) , VectorImage.Resize(int, int, ResizeType) , VectorImage.Resize(int, int, ImageResizeSettings) , VectorImage.RotateFlip(RotateFlipType) , VectorImage.Crop(Rectangle) , VectorImage.Rotate(float) , VectorImage.SizeF , VectorImage.WidthF , VectorImage.HeightF , VectorImage.Width , VectorImage.Height , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

下面的例子显示如何将 svgz 图像转换为 svg fromat

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

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。

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

                                                                                                  // Load an SVG image from a file stream.
                                                                                                  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))
                                                                                                  {
                                                                                                      // In order to rasterize SVG we need to specify rasterization options.
                                                                                                      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) 到 raster fromat

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});
                                                                                                                    }
                                                                                                                }

Constructors

SvgImage(线条)

安装 Aspose.Imaging.FileFormats.Svg.SvgImage 类的新对象,使用指定的路径,以查找和加载图像。创建来自外部文件的 SVG 图像例子,允许无缝整合到软件系统和工作流。

public SvgImage(string path)

Parameters

path string

路径从图像上传并启动像素和面板数据。

Exceptions

ArgumentNullException

路是零。

SvgImage(Stream)

创建 Aspose.Imaging.FileFormats.Svg.SvgImage 类的新例子,上传图像从提供的电流. 该制造商允许SVG的直接加载来自流的图像,提高图像处理的灵活性和效率软件应用中的资源。

public SvgImage(Stream stream)

Parameters

stream Stream

流从图像上传并启动像素和板块数据。

Examples

此示例显示如何从文件流中加载 SVG 图像并将其拉斯特化为 PNG。

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

                                                                                                  // Load an SVG image from a file stream.
                                                                                                  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))
                                                                                                  {
                                                                                                      // In order to rasterize SVG we need to specify rasterization options.
                                                                                                      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);
                                                                                                  }

Exceptions

ArgumentNullException

流量是零。

SvgImage(int , int , int)

安装一个新的 Aspose.Imaging.FileFormats.Svg.SvgImage 对象与指定的宽度和这个构建器允许开发人员创建SVG图像与预定义尺寸,方便对图像的尺寸的准确控制启动。

public SvgImage(int width, int height)

Parameters

width int

图像宽度。

height int

图像高度。

SvgImage(SVG选项, int, int)

创建一个新的例子 Aspose.Imaging.FileFormats.Svg.SvgImage 类与指定 SVG选项,图像宽和高度参数. 该构建器允许开发人员以自定义选项和尺寸启动 SVG 图像,提供SVG内容和布局管理的灵活性。

public SvgImage(SvgOptions svgOptions, int width, int height)

Parameters

svgOptions SvgOptions

SVG选项。

width int

图像宽度

height int

图像高度。

Properties

BitsPerPixel

重定向图像的像素数比特,重要的是要注意的是该参数不适用于 vector 图像,因为它们在像素:本属性提供有关图像颜色的关键信息深度,帮助处理和操纵任务。

public override int BitsPerPixel { get; }

财产价值

int

Exceptions

NotImplementedException

无效的 vector 图像

FileFormat

恢复图像的文件格式,提供必需的数据处理和兼容性检查. 此属性是工具在确定适当的解密和编码策略,以处理图像数据在不同系统和应用程序中有效。

public override FileFormat FileFormat { get; }

财产价值

FileFormat

IsCached

返回一个 boolean 值,表明对象的数据是否存在隐藏,消除需要额外的数据阅读操作。财产提供现行缓存状态的洞察力,优化数据恢复和处理工作流,以提高性能和效率。

public override bool IsCached { get; }

财产价值

bool

XmpData

接收或设置 XMP 数据。

public XmpPacketWrapper XmpData { get; set; }

财产价值

XmpPacketWrapper

Methods

CacheData()

隐藏数据并保证不会再加载数据基于 Aspose.Imaging.DataStreamSupporter.DataStreamContainer。优化通过消除破坏性数据恢复来提高性能活动,特别有利于需要频繁访问的场景图像数据。

public override void CacheData()

Crop(Rectangle)

切割指定的直角。

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

直角。

GetDefaultOptions(对象[])

修复为图像设置的默认选项,提供基线设置各种操作,如重复、压缩或编码。方法在确保一致的行为和质量标准方面至关重要图像处理任务,无需明确的参数化。

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object ( )

这些论点。

Returns

ImageOptionsBase

默认选项

GetImage2Export(ImageOptionsBase, 直角, IImageExporter)

以图像为出口。

protected override Image GetImage2Export(ImageOptionsBase optionsBase, Rectangle boundsRectangle, IImageExporter exporter)

Parameters

optionsBase ImageOptionsBase

图像选项基础。

boundsRectangle Rectangle

边界是直角。

exporter IImageExporter

出口商。

Returns

Image

圖片來出口

ReleaseManagedResources()

释放管理资源 确保没有未管理资源在这里释放,因为它们可能已经释放了。

protected override void ReleaseManagedResources()

Resize(int , int , resizeType)

重新调整图像以适应指定的尺寸,同时保持其外观这个方法提供了一个方便的方式来调整图像的尺寸不破坏其比例,确保最佳显示或存储根据所需的尺寸。

public override void Resize(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

新的宽度。

newHeight int

新高度。

resizeType ResizeType

回归类型。

Rotate(航海)

旋转图像周围的中心。

public override void Rotate(float angle)

Parameters

angle float

旋转的角度在度,积极的值会旋转时钟。

SaveData(Stream)

保存数据。

protected override void SaveData(Stream stream)

Parameters

stream Stream

流来保存数据。

SetPalette(彩色 彩色 彩色)

适用于图像的特定板块,允许颜色定制用于美学或功能目的的方案 这种方法提供灵活性在管理颜色板,以满足各种设计或应用要求。

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

要安排的板块。

updateColors bool

如果设置为“真实”颜色,将根据新板更新;否则颜色指数仍然不变. 请注意,如果某些指数没有相应的板输入,不变的指数可能会破坏上载的图像。

Exceptions

NotImplementedException

 中文