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
路是零。
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
流量是零。
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; }
财产价值
Exceptions
无效的 vector 图像
FileFormat
恢复图像的文件格式,提供必需的数据处理和兼容性检查. 此属性是工具在确定适当的解密和编码策略,以处理图像数据在不同系统和应用程序中有效。
public override FileFormat FileFormat { get; }
财产价值
IsCached
返回一个 boolean 值,表明对象的数据是否存在隐藏,消除需要额外的数据阅读操作。财产提供现行缓存状态的洞察力,优化数据恢复和处理工作流,以提高性能和效率。
public override bool IsCached { get; }
财产价值
XmpData
接收或设置 XMP 数据。
public XmpPacketWrapper XmpData { get; set; }
财产价值
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
默认选项
GetImage2Export(ImageOptionsBase, 直角, IImageExporter)
以图像为出口。
protected override Image GetImage2Export(ImageOptionsBase optionsBase, Rectangle boundsRectangle, IImageExporter exporter)
Parameters
optionsBase
ImageOptionsBase
图像选项基础。
boundsRectangle
Rectangle
边界是直角。
exporter
IImageExporter
出口商。
Returns
圖片來出口
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
如果设置为“真实”颜色,将根据新板更新;否则颜色指数仍然不变. 请注意,如果某些指数没有相应的板输入,不变的指数可能会破坏上载的图像。