Class EmfImage
Именује се: Aspose.Imaging.FileFormats.Emf Асамблеја: Aspose.Imaging.dll (25.4.0)
АПИ за побољшани метафил формат (ЕМФ) векторска подршка формату слике јесвеобухватни алат за обраду графичких слика у уређају-независнона начин док сачувају своје оригиналне својства. развијен да одржипропорције, димензије, боје и друге графичке атрибуте, укључујућиЕМФ Плус формат подршка и карактеристике за гравирајуће регионе, резање кановаи слике, ротирање, флипирање, постављање слика палете, извоз и увозу контексту АПС уређаја, компресирање и конверзија ЕМФ-а у друге формати, обезбеђујућиразноврсна манипулација и беспрекорно интегрисање ЕМФ слика кроз апликације.
[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
Sledeći primer pokazuje kako pretvoriti emz slike u 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});
}
Следећи пример показује како конвертовати емф слике у емз изјат
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});
}
Следећи пример показује како конвертовати компресиране слике (ЕМЗ је,.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});
}
}
Овај пример показује како да преузмете ЕМФ слику из датотеке и конвертујете је у СВГ користећи ЕмфРастеризацијаОпције.
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()
Почните да радите са сликама ЕМФ-а иницијалишући нову инстанцијуAspose.Imaging.FileFormats.Emf. EmfImage класа. Идеално за брзо уграђивање ЕМФ слике уВаш пројекат је једноставан и ефикасан.
[JsonConstructor]
public EmfImage()
EmfImage(Инт, Инт)
Креирајте нову инстанцију класе Aspose.Imaging.FileFormats.Emf.EmbImage одређујући ширинуи висине параметара. овај конструктор поједноставља процес иницијализацијеЕМФ слике са специфичним димензијама, побољшавајући ефикасност вашег развојаРадни ток .
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
Повратак или модификовање ЕМФ метафилног наслова са овим својством.Ефикасно управљање метафилним подацима у вашој апликацији. побољшање вашег радног токаса усклађеним приступом метафилним информацијама за наслов.
public EmfMetafileHeader Header { get; set; }
Вредност имовине
Висока
Вратите висину слике, олакшавајући прецизне рендере и подешавања распореда.Приступ својству висине обезбеђује компатибилност и беспрекорно интегрисање измеђуразличите платформе и апликације.
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 sa ovim metodom.перформансе и усклађивање приступа подацима у вашој апликацији, оптимизација ресурсаКоришћење за побољшање одговорности.
public override void CacheData()
Examples
Овај пример показује како да преузмете ЕМФ слику из датотеке и наведете све његове записе.
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
[]
i argumentima .
Returns
Default opcije
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(ИЦОЛОРПАЛЕТ, БООЛ)
Поставите палету слике.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Палет је постављен.
updateColors
bool
ако је постављена на “истинске” боје ће бити ажурирана према новој палети; иначе индекси боја остају непромењени. Имајте на уму да непромењени индекси могу срушити слику на пуњењу ако неки индекси немају одговарајуће палети улоге.