EmfImage

EmfImage class

EMF 文件格式图像。

public sealed class EmfImage : MetaImage

构造函数

姓名描述
EmfImage()初始化EmfImage类.
EmfImage(int, int)初始化EmfImage类.

特性

姓名描述
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; }获取或设置图像是否有背景色的值。
Header { get; set; }获取或设置头记录
override Height { get; }获取图像高度。
virtual HeightF { get; }获取对象高度,以英寸为单位。
InterruptMonitor { get; set; }获取或设置中断监视器。
override IsCached { get; }获取一个值,表示对象的数据当前是否被缓存,不需要读取数据。
Palette { get; set; }获取或设置调色板。直接表示像素时不使用调色板。
override Records { get; set; }获取或设置记录。
Size { get; }获取图像大小。
SizeF { get; }获取对象大小,以英寸为单位。
virtual UsePalette { get; }获取指示是否使用图像调色板的值。
override Width { get; }获取图像宽度。
virtual WidthF { get; }获取对象宽度,以英寸为单位。

方法

姓名描述
override CacheData()缓存数据并确保不会从底层执行额外的数据加载DataStreamContainer .
CanSave(ImageOptionsBase)判断图像是否可以保存为传递的保存选项所代表的指定文件格式。
override Crop(Rectangle)裁剪指定的矩形。
virtual Crop(int, int, int, int)使用班次裁剪图像。
Dispose()处理当前实例。
override GetDefaultOptions(object[])获取默认选项。
virtual GetEmbeddedImages()获取嵌入的图像。
GetMissedFonts()返回在元文件中使用但未找到的字体列表。
virtual GetOriginalOptions()获取基于原始文件设置的选项。 这有助于保持原始图像的位深度和其他参数不变。 例如,如果我们加载一个每像素 1 位的黑白 PNG 图像,然后使用 the 保存它Save方法,将产生每像素8位的输出PNG图像。 为了避免它并以每像素1位保存PNG图像,使用此方法获取相应的保存选项并将它们 传递给Save方法作为第二个参数。
override GetUsedFonts()返回在元文件中使用的字体列表。
Resize(int, int)调整图像大小。默认NearestNeighbourResample已使用。
override Resize(int, int, ImageResizeSettings)调整图像大小。
override Resize(int, int, ResizeType)调整图像大小。
override ResizeCanvas(Rectangle)调整画布大小。
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)设置图像调色板。

例子

以下示例显示如何将 emz 图像转换为 emf fromat

[C#]

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

以下示例显示如何将 emf 图像转换为 emz fromat

[C#]

string file = "input.emf";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".emz";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions() { PageSize = image.Size};
    image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions() {VectorRasterizationOptions = vectorRasterizationOptions, Compress = true});
}

以下示例显示如何将压缩图像(.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});
    }
}

此示例说明如何从文件加载 EMF 图像并使用 EmfRasterizationOptions 将其转换为 SVG。

[C#]

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

// 使用 Aspose.Imaging.Image.Load 是一种统一的方式来加载包括 EMF 在内的所有类型的图像。
using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
{
    Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();

    // 文本将转换为形状。
    saveOptions.TextAsShapes = true;

    Aspose.Imaging.ImageOptions.EmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions();

    // 绘图表面的背景颜色。
    rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;

    // 页面大小。
    rasterizationOptions.PageSize = emfImage.Size;

    // 如果嵌入的 emf 存在,则渲染 emf;否则渲染 wmf。
    rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Emf.EmfRenderMode.Auto;

    // 设置水平边距
    rasterizationOptions.BorderX = 50;

    // 设置垂直边距
    rasterizationOptions.BorderY = 50;

    saveOptions.VectorRasterizationOptions = rasterizationOptions;

    emfImage.Save(dir + "test.output.svg", saveOptions);
}

也可以看看