Class EmfImage

Class EmfImage

De naam: Aspose.Imaging.FileFormats.Emf Verzameling: Aspose.Imaging.dll (25.4.0)

De API voor verbeterd Metafile Format (EMF) vector beeldformaat ondersteuning iseen uitgebreid gereedschap voor het verwerken van grafische afbeeldingen in een apparaat-afhankelijkmanier terwijl het behoud van hun oorspronkelijke eigenschappen. ontwikkeld om te behoudenproporties, afmetingen, kleuren en andere grafische attributen, het omvatEMF Plus-formaat ondersteuning en functies voor grappige regio’s, resing kanvasen afbeeldingen, rotatie, flipping, set image palettes, export en importhet APS-apparatuurcontext, het compresseren en omzetten van EMF naar andere formaten, waarborgenverslaafde manipulatie en naadloze integratie van EMF-beelden over toepassingen.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Geëerbiede leden

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

Het volgende voorbeeld laat zien hoe u een emz-afbeelding converteert naar 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});
                                                                                }

Het volgende voorbeeld laat zien hoe u een emf-afbeelding converteert naar 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});
                                                                                }

Het volgende voorbeeld laat zien hoe je een compressieve afbeelding kunt converteren (van EMZ,.wmz, *.svgz) naar 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});
                                                                                                                    }
                                                                                                                }

Dit voorbeeld laat zien hoe u een EMF-afbeelding van een bestand kunt laden en deze naar SVG kunt converteren met behulp van 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()

Begin met werken met EMF-afbeeldingen door een nieuwe instantie van deAspose.Imaging.FileFormats.Emf. EmfImage klasse. Ideaal voor snelle EMF-afbeeldingen inUw projecten met eenvoud en efficiëntie.

[JsonConstructor]
public EmfImage()

EmfImage(int, int)

Creëer een nieuwe instantie van de Aspose.Imaging.FileFormats.Emf. EmfImage-klasse door de breedte te specificerenen hoogte parameters. deze constructor vereenvoudigt het proces van initialisatieEMF-afbeeldingen met specifieke dimensies, die de efficiëntie van uw ontwikkeling verbeterenwerkstroom .

public EmfImage(int width, int height)

Parameters

width int

De breedte.

height int

De hoogte.

Properties

BitsPerPixel

Verwijder de bit-per-pixel tellen specifiek voor raster afbeeldingen, als deze parameterniet van toepassing op vectorafbeeldingen. snel bepalen van de pixeldiepte van het rasterafbeeldingen voor nauwkeurige analyse en manipulatie, waarborging van nauwe behandelingvan beeldgegevens.

public override int BitsPerPixel { get; }

Eigendomswaarde

int

Exceptions

NotImplementedException

Invalid voor vectorafbeeldingen.

FileFormat

Toegang tot de waarde van het bestandformaat geassocieerd met het object.het bestandformaat dat is geassocieerd met het object voor gestroomde verwerking encompatibiliteit controles. vergemakkelijkt uw werkstroom door het bestandformaat te herhalenInformatie met gemakkelijkheid.

public override FileFormat FileFormat { get; }

Eigendomswaarde

FileFormat

Header

Herstellen of wijzigen van de EMF metafile headerrecord met deze eigenschap.metafile gegevens efficiënt beheren binnen uw applicatie. verbeter uw werkstroommet snelle toegang tot metafile headerinformatie.

public EmfMetafileHeader Header { get; set; }

Eigendomswaarde

EmfMetafileHeader

HoogteF

Herstel de hoogte van het beeld, waardoor nauwkeurige rendering en layout aanpassingen worden vergemakkelijkt.Toegang tot de hoogte eigenschap zorgt voor compatibiliteit en naadloze integratie tussenVerschillende platforms en toepassingen.

public override float HeightF { get; }

Eigendomswaarde

float

IsCached

toegang tot een waarde die aangeeft of de gegevens van het object momenteel verborgen zijn,het elimineren van de behoefte aan aanvullende data lezen. efficiëntie verbeteren door snelom te bepalen of cached-gegevens beschikbaar zijn voor onmiddellijke toegang.werkstromen met geavanceerde gegevensherstelprocessen.

public override bool IsCached { get; }

Eigendomswaarde

bool

Records

herstellen of wijzigen van de met het object geassocieerde records. effectief toegang enhet beheer van de verzameling van records voor verbeterd gegevensmanipulatie en verwerking.Optimaliseren van uw werkstroom door naadloos te communiceren met de records van het object.

public override MetaObjectList Records { get; set; }

Eigendomswaarde

MetaObjectList

WidthF

Toegang tot de breedte van het beeld, het verstrekken van essentiële informatie voor nauwkeurigheidrendering en verwerking. snel herstellen van de breedte van het beeld om compatibiliteit te garanderenen de juiste layout binnen verschillende toepassingen en platforms.

public override float WidthF { get; }

Eigendomswaarde

float

Methods

CacheData()

Doeltreffend cache gegevens en vermijd redundante lading van de onderliggendeAspose.Imaging.DataStreamSupporter.Gebruik deze methode. Verbeterprestaties en snelle toegang tot gegevens in uw applicatie, resource optimalisatieGebruik voor betere responsiviteit.

public override void CacheData()

Examples

Dit voorbeeld laat zien hoe je een EMF-afbeelding uit een bestand kunt laden en al zijn records kunt lijsten.

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

Verwijder de standaardopties voor uw afbeelding moeiteloos. met deze functie, kunt ukan snel toegang krijgen tot de vooraf ingestelde configuraties, waarborgen onbeperkte integratie enoptimale prestaties voor uw projecten. ideaal voor het vergemakkelijken van uw werkstroom enHet bereiken van consistente resultaten over uw afbeeldingen.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object []

De argumenten .

Returns

ImageOptionsBase

De standaardopties

GetOriginalOptions()

Krijg de oorspronkelijke beeldopties.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

De oorspronkelijke beeldopties.

GetUsedFonts()

Verwijder de lijst met lettertypen die in de metafile worden gebruikt met deze methode.inzichten in het gebruik van fonts, het vergemakkelijken van efficiënte beheer en optimalisatie van de fontbronnen voor verbeterde rendering en display loyaliteit.

public override string[] GetUsedFonts()

Returns

string []

De fontlijst

ResizeCanvas(Rectangle)

Reset de kanvas gemakkelijk met behulp van deze functie. Perfect voor het aanpassen van de algemeneafmetingen van de afbeelding zonder de inhoud ervan te wijzigen. verbeteren presentatie enMaak foto’s voor verschillende afbeeldingsgrootte moeiteloos.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

De nieuwe rectangle.

SetPalette(IColorPalette, Bool)

Stel de beeldpalet in.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

De palet om te zetten.

updateColors bool

als de ‘waar’ kleuren worden ingesteld zal worden bijgewerkt volgens de nieuwe palet; anders blijven de kleurindices onveranderd.

Exceptions

NotImplementedException

 Nederlands