Class EmfImage
Името на пространството: Aspose.Imaging.FileFormats.Emf Асамблея: Aspose.Imaging.dll (25.4.0)
API за поддръжка на Vector Image Format (EMF)цялостен инструмент за обработка на графични изображения в устройство-независимкато същевременно запазва своите оригинални свойства. разработени за поддържане напропорции, измерения, цветове и други графични атрибути, тя включваEMF Plus формат поддръжка и функции за гравиращи региони, рецизиране на каучуции изображения, въртене, флипиране, настройване на палети за изображение, износ и вносна APS устройство контекст, компресиране и конвертиране на EMF в други формати, осигуряване науниверсална манипулация и безпроблемна интеграция на EMF изображения в приложенията.
[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← EmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
наследници
MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.Records , 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
Следващият пример показва как да конвертирате изображение emz в emf fromat
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
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) до растер отрат
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 изображение от файл и да го конвертирате в SVG с помощта на EmfRasterizationOptions.
string dir = "c:\\temp\\";
// Using Aspose.Imaging.Image.Load is a unified way to load all types of images including 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();
// Text will be converted to shapes.
saveOptions.TextAsShapes = true;
Aspose.Imaging.ImageOptions.EmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions();
// The background color of the drawing surface.
rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;
// The page size.
rasterizationOptions.PageSize = emfImage.Size;
// If embedded emf exists, then render emf; otherwise render wmf.
rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Emf.EmfRenderMode.Auto;
// Set the horizontal margin
rasterizationOptions.BorderX = 50;
// Set the vertical margin
rasterizationOptions.BorderY = 50;
saveOptions.VectorRasterizationOptions = rasterizationOptions;
emfImage.Save(dir + "test.output.svg", saveOptions);
}
Constructors
EmfImage()
Започнете да работите с изображенията на EMF, като стартирате нова инстанция наAspose.Imaging.FileFormats.Emf. EmfImage клас. Идеален за бързо интегриране на EMF изображения вВашите проекти са лесни и ефективни.
[JsonConstructor]
public EmfImage()
EmfImage(в, в)
Създаване на нова инстанция на Aspose.Imaging.FileFormats.Emf. EmfImage клас, като се посочи ширинатаи височина параметри. този конструктор улеснява процеса на стартиранеEMF изображения с конкретни измерения, за да се подобри ефективността на вашето развитиеРаботен поток .
public EmfImage(int width, int height)
Parameters
width
int
и ширината.
height
int
на височината.
Properties
BitsPerPixel
Изтеглете броя на бит-на-пиксел, специфичен за изображенията на растер, като този параметърне се прилага за векторни изображения. бързо установяване на пикселната дълбочина на растеризображения за точен анализ и манипулация, осигуряване на точна обработкаот данните на изображението.
public override int BitsPerPixel { get; }
стойност на имота
Exceptions
Инвалидни за векторни изображения.
FileFormat
Достъп до стойността на формата на файла, свързана с обекта.формат на файла, свързан с обекта за усъвършенствана обработка иПроверка на съвместимостта. опростяване на работния поток, като се възстанови формат на файлаИнформация с лекота.
public override FileFormat FileFormat { get; }
стойност на имота
Header
Възстановяване или модифициране на EMF метафил заглавието с тази собственост.Управление на метафилните данни ефективно в приложението Ви. Подобряване на работния потокс ускорен достъп до метафилна информация за заглавието.
public EmfMetafileHeader Header { get; set; }
стойност на имота
Височината
Поддържайте височината на изображението, като улеснявате точния rendering и настройките на оформлението.Достъпът до височината осигурява съвместимост и безпристрастна интеграция междуРазлични платформи и приложения.
public override float HeightF { get; }
стойност на имота
IsCached
Достъп до стойност, която показва дали данните на обекта в момента са скрити,елиминиране на необходимостта от допълнително четене на данни.Подобряване на ефективността чрез бързода се определи дали скритите данни са налични за незабавен достъп.Работен поток с усъвършенствани процеси за събиране на данни.
public override bool IsCached { get; }
стойност на имота
Records
Възстановяване или модифициране на записи, свързани с обекта. ефективен достъп иУправление на събирането на записи за подобрена манипулация и обработка на данни.Оптимизирайте работния си поток, безпроблемно взаимодействайки с записи на обекта.
public override MetaObjectList Records { get; set; }
стойност на имота
Виндовс
Достъп до ширината на изображението, предоставяне на необходимата информация за точностбързо възвръща ширината на изображението, за да се гарантира съвместимости подходящо оформление в различни приложения и платформи.
public override float WidthF { get; }
стойност на имота
Methods
CacheData()
Ефективно съхранение на данните и предотвратяване на редунантно натоварване от основнотоAspose.Imaging.DataStreamSupporter.datastreamContainer с този метод.ефективност и ускоряване на достъпа до данни в приложението, оптимизиране на ресурситеИзползване за подобрена реакция.
public override void CacheData()
Examples
Този пример показва как да изтеглите изображение EMF от файл и списък на всички негови записи.
string dir = "c:\\temp\\";
// Using Aspose.Imaging.Image.Load is a unified way to load all types of images including WMF.
using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
{
// Cache data to load all records.
emfImage.CacheData();
System.Console.WriteLine("The total number of records: {0}", emfImage.Records.Count);
// The key is a record type, the value is number of records of that type in the WMF image.
System.Collections.Generic.Dictionary<system.type, int=""> types =
new System.Collections.Generic.Dictionary<system.type, int="">();
// Gather statistics
foreach (Aspose.Imaging.FileFormats.Emf.Emf.Records.EmfRecord obj in emfImage.Records)
{
System.Type objType = obj.GetType();
if (!types.ContainsKey(objType))
{
types.Add(objType, 1);
}
else
{
types[objType]++;
}
}
// Print statistics
System.Console.WriteLine("Record Type Count");
System.Console.WriteLine("----------------------------------------------");
foreach (System.Collections.Generic.KeyValuePair<system.type, int=""> entry in types)
{
string objectType = entry.Key.Name;
string alignmentGap = new string(' ', 40 - objectType.Length);
System.Console.WriteLine("{0}:{1}{2}", entry.Key.Name, alignmentGap, entry.Value);
}
}
//The output may look like this:
//The total number of records: 1188
//Record Type Count
//----------------------------------------------
//EmfMetafileHeader: 1
//EmfSetBkMode: 1
//EmfSetTextAlign: 1
//EmfSetRop2: 1
//EmfSetWorldTransform: 1
//EmfExtSelectClipRgn: 1
//EmfCreateBrushIndirect: 113
//EmfSelectObject: 240
//EmfCreatePen: 116
//EmfSetPolyFillMode: 1
//EmfBeginPath: 120
//EmfMoveToEx: 122
//EmfPolyBezierTo16: 36
//EmfLineTo: 172
//EmfCloseFigure: 14
//EmfEndPath: 120
//EmfStrokeAndFillPath: 113
//EmfStrokePath: 7
//EmfSetTextColor: 2
//EmfExtCreateFontIndirectW: 2
//EmfExtTextOutW: 2
//EmfStretchBlt: 1
//EmfEof: 1</system.type,></system.type,></system.type,>
GetDefaultOptions(Обект[])
Възстановяване на опциите по подразбиране за изображението си без усилия. с тази функция,може бързо да има достъп до предварителните конфигурации, осигурявайки безпроблемна интеграция иоптимална ефективност за вашите проекти. идеален за улесняване на работния си поток иЗа постигане на последователни резултати по вашите изображения.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
и аргументите.
Returns
Дефинирани опции
GetOriginalOptions()
Използвайте оригиналните опции за изображение.
public override ImageOptionsBase GetOriginalOptions()
Returns
Оригиналните опции за изображение.
GetUsedFonts()
Възстановяване на списъка с шрифтове, използвани в метафила с този метод.информация за използването на шрифтове, улесняване на ефективното управление и оптимизиране наресурси за подобряване на предаването и показването на лоялността.
public override string[] GetUsedFonts()
Returns
string []
Списък на шрифтове
ResizeCanvas(Rectangle)
Рециклирайте каналите с лекота, като използвате тази функция. Идеален за коригиране на общотоизмерване на изображението, без да се променя съдържанието му. Подобряване на представянето иПодгответе изображения за различни размери на дисплея без усилие.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Новият правоъгълник.
SetPalette(Изолация, Bool)
Поставете палетата на изображението.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Палетата трябва да бъде поставена.
updateColors
bool
ако сте зададени на “истински” цветове ще бъдат актуализирани в съответствие с новата палета; в противен случай индексите на цветовете остават непроменени.