Class EmfImage

Class EmfImage

Numele spaţiului: Aspose.Imaging.FileFormats.Emf Asamblare: Aspose.Imaging.dll (25.4.0)

API pentru formatul îmbunătățit Metafile (EMF) suport pentru formatul de imagine vector esteun instrument cuprinzător pentru prelucrarea imaginilor grafice într-un dispozitiv independentîn timp ce păstrează proprietățile lor originale. dezvoltat pentru a mențineproporţii, dimensiuni, culori şi alte atributele grafice, aceasta includeEMF Plus suport format și caracteristici pentru regiunile de creștere, canvele de reîncărcareşi imagini, rotarea, flipping, setarea paletelor imaginii, exportarea şi importareaîn contextul dispozitivului APS, compresarea și conversia EMF în alte formate, asigurândmanipularea versatilă și integrarea fără fir a imaginilor EMF prin intermediul aplicațiilor.

[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Membrii moștenitori

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

Următorul exemplu arată cum să convertiți o imagine emz în 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});
                                                                                }

Următorul exemplu arată cum să convertiți o imagine emf în 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});
                                                                                }

Următorul exemplu arată cum să convertiți o imagine comprimată (în EMZ,.wmz, *.svgz) pentru 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});
                                                                                                                    }
                                                                                                                }

Acest exemplu arată cum să încărcați o imagine EMF dintr-un fișier și să o convertiți în SVG folosind 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()

Începeți să lucrați cu imagini EMF prin inițierea unei noi instante aAspose.Imaging.FileFormats.Emf. EmfImage clasă. ideal pentru a integra rapid imagini EMF înProiectele dvs. cu ușurință și eficiență.

[JsonConstructor]
public EmfImage()

EmfImage(int, int)

Creați o nouă instanță a clasei Aspose.Imaging.FileFormats.Emf. EmfImage prin specificarea lățimiiAcest constructor simplifică procesul de inițializareImagini EMF cu dimensiuni specifice, îmbunătățind eficiența dezvoltării dvs.fluxul de lucru.

public EmfImage(int width, int height)

Parameters

width int

în lățime .

height int

înălţime .

Properties

BitsPerPixel

Reduceți numărul de bit-per-pixel specific pentru imagini raster, deoarece acest parametrunu se aplică imaginilor vectori. Determinați rapid adâncimea pixelului rasteruluiimagini pentru analiză și manipulare precisă, asigurând manipularea corectădate de imagini.

public override int BitsPerPixel { get; }

Valoarea proprietății

int

Exceptions

NotImplementedException

Invalid pentru imagini vectoriale.

FileFormat

Acces la valoarea formatului de fișier asociată cu obiectul.formatul fișierului asociat cu obiectul de prelucrare simplificată șiVerificări de compatibilitate. simplificați fluxul de lucru prin recuperarea formatului de fișierinformaţii cu uşurinţă.

public override FileFormat FileFormat { get; }

Valoarea proprietății

FileFormat

Header

Recuperarea sau modificarea înregistrării titlurilor metafilice EMF cu această proprietate.Gestionarea eficientă a datelor metafilice în cadrul aplicației dvs. Îmbunătățește fluxul de lucrucu acces simplificat la informațiile de titlu metafilic.

public EmfMetafileHeader Header { get; set; }

Valoarea proprietății

EmfMetafileHeader

înălţime

Returnați înălțimea imaginii, facilitând ajustările de renderare și de layout precise.Accesul la proprietatea de înălțime asigură compatibilitatea și integrarea fără fir întrediferite platforme și aplicații.

public override float HeightF { get; }

Valoarea proprietății

float

IsCached

Accesul la o valoare care indică dacă datele obiectului sunt în prezent cache,eliminarea necesității de citire suplimentară a datelor. îmbunătățirea eficienței prindeterminarea dacă datele cache sunt disponibile pentru acces imediat.fluxul de lucru cu procese simplificate de recuperare a datelor.

public override bool IsCached { get; }

Valoarea proprietății

bool

Records

Recuperarea sau modificarea înregistrărilor asociate cu obiectul. acces eficient șigestionarea colectării înregistrărilor pentru manipularea și prelucrarea îmbunătățită a datelor.Optimizați fluxul de lucru prin interacțiunea fără probleme cu înregistrările obiectului.

public override MetaObjectList Records { get; set; }

Valoarea proprietății

MetaObjectList

Răspundeți

Acces la lățimea imaginii, furnizând informații esențiale pentru precizieRenderarea și prelucrarea. retrage rapid lățimea imaginii pentru a asigura compatibilitateași layout corespunzător în cadrul diferitelor aplicații și platforme.

public override float WidthF { get; }

Valoarea proprietății

float

Methods

CacheData()

Cachează în mod eficient datele și împiedică încărcarea redundantă din elementele de bazăAspose.Imaging.DataStreamSupporter.Container de date cu această metodă.Performanța și accesul rapid la date în aplicația dvs., optimizarea resurselorutilizare pentru a îmbunătăți rezistența.

public override void CacheData()

Examples

Acest exemplu arată cum să încărcați o imagine EMF dintr-un fișier și să listați toate înregistrările sale.

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(Obiectul[])

Returnați opțiunile de preferință pentru imaginea dvs. fără efort. cu această caracteristică, putețipoate accesa rapid configurațiile pre-set, asigurând integrarea fără fir șiperformanță optimă pentru proiectele dvs. Ideal pentru simplificarea fluxului de lucru șiObținerea unor rezultate coerente pe imagini.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object []

Argumentele sunt.

Returns

ImageOptionsBase

Opțiuni deficitare

GetOriginalOptions()

Obțineți opțiunile de imagine originale.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opțiunile de imagine originale.

GetUsedFonts()

Returnați lista de fonturi utilizate în metafiză cu această metodă.înțelegerea utilizării fontului, facilitând gestionarea eficientă și optimizarea fonturilorresurse pentru a îmbunătăți renderarea și fidelitatea afișării.

public override string[] GetUsedFonts()

Returns

string []

Lista fonturilor

ResizeCanvas(Rectangle)

Reîncărcați cu ușurință canapele folosind această funcție. Perfect pentru ajustarea generalădimensiunile imaginii fără a modifica conținutul acesteia. îmbunătățirea prezentării șiPregătiți imagini pentru diferite dimensiuni de afișare fără efort.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Noul rectanglu.

SetPalette(Cuvânt cheie, bool)

Puneți paleta de imagine.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Paleta care trebuie stabilită.

updateColors bool

în cazul în care este setat la culori “reale” va fi actualizat în funcție de noua paletă; în caz contrar, indicele de culoare rămân inalterate.

Exceptions

NotImplementedException

 Română