Class EmfImage

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

Вредност имовине

int

Exceptions

NotImplementedException

Инвалид за векторске слике.

FileFormat

Дођите до вредности формата датотеке повезане са објектом.формат датотеке повезан са објектом за усклађене обраде иПроверите компатибилност. поједностављајте свој радни ток враћањем формата датотекеИнформација је лако.

public override FileFormat FileFormat { get; }

Вредност имовине

FileFormat

Header

Повратак или модификовање ЕМФ метафилног наслова са овим својством.Ефикасно управљање метафилним подацима у вашој апликацији. побољшање вашег радног токаса усклађеним приступом метафилним информацијама за наслов.

public EmfMetafileHeader Header { get; set; }

Вредност имовине

EmfMetafileHeader

Висока

Вратите висину слике, олакшавајући прецизне рендере и подешавања распореда.Приступ својству висине обезбеђује компатибилност и беспрекорно интегрисање измеђуразличите платформе и апликације.

public override float HeightF { get; }

Вредност имовине

float

IsCached

Приступ вредности која указује на то да ли су подаци објекта тренутно скривени,елиминисање потребе за додатним читањем података. побољшање ефикасности брзоодређивање да ли су скривени подаци доступни за непосредни приступ.Радни ток са усклађеним процесима прикупљања података.

public override bool IsCached { get; }

Вредност имовине

bool

Records

обнављање или модификовање података повезаних са објектом. ефикасно приступ иуправљање сакупљањем података за побољшање манипулације подацима и обраде.Оптимизирајте свој радни ток непрекидном интеракцијом са записима објекта.

public override MetaObjectList Records { get; set; }

Вредност имовине

MetaObjectList

ВитхФ

Приступ ширини слике, пружајући неопходне информације за прецизнострендеринг и обрада. брзо добити ширину слике како би се осигурала компатибилности правилно распоређивање у различитим апликацијама и платформама.

public override float WidthF { get; }

Вредност имовине

float

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

ImageOptionsBase

Default opcije

GetOriginalOptions()

Добијте оригиналне опције слике.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Оригиналне опције слике.

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

ако је постављена на “истинске” боје ће бити ажурирана према новој палети; иначе индекси боја остају непромењени. Имајте на уму да непромењени индекси могу срушити слику на пуњењу ако неки индекси немају одговарајуће палети улоге.

Exceptions

NotImplementedException

 Српски