Class EmfImage

Class EmfImage

Der Name: Aspose.Imaging.FileFormats.Emf Versammlung: Aspose.Imaging.dll (25.4.0)

Die API for Enhanced Metafile Format (EMF) Vektorbildformat unterstütztein umfassendes Werkzeug zur Verarbeitung grafischer Bilder in einem Gerät unabhängigenMethode während der Erhaltung ihrer ursprünglichen Eigenschaften. entwickelt, umProportionen, Dimensionen, Farben und andere grafische Attribute, es umfasstEMF Plus-Format-Support und Funktionen für Gräberregionen, Rückschlüsseund Bilder, Rotation, Flipping, Bildpaletten, Export und ImportAPS-Gerätkontext, Komprimierung und Konvertierung von EMF in andere Formate,vielseitige Manipulation und unbequeme Integration von EMF-Bilder in Anwendungen.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Vererbte Mitglieder

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

Das folgende Beispiel zeigt, wie man eine emz Bilder in emf fromat umwandelt

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

Das folgende Beispiel zeigt, wie man eine emf Bilder in emz fromat umwandelt

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

Das folgende Beispiel zeigt, wie man ein komprimiertes Bild konvertiert (.von EMZ,.wmz, *.svgz) zu 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});
                                                                                                                    }
                                                                                                                }

Dieses Beispiel zeigt, wie man ein EMF-Bild aus einem Datei laden und es in SVG mit EmfRasterizationOptions umwandeln kann.

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()

Beginnen Sie mit EMF-Bilder zu arbeiten, indem Sie eine neue Instanz derAspose.Imaging.FileFormats.Emf.EmfImage Klasse. Ideal für die schnelle Einnahme von EMF-Bilder inIhre Projekte mit Leichtigkeit und Effizienz.

[JsonConstructor]
public EmfImage()

EmfImage(und int, int)

Erstellen Sie eine neue Instanz der Aspose.Imaging.FileFormats.Emf.EmfImage Klasse, indem Sie die Breite angebenund Höhenparameter. Dieser Konstruktor vereinfacht den Prozess der InitialisierungEMF-Bilder mit spezifischen Dimensionen, die die Effizienz Ihrer Entwicklung verbessernDer Workflow.

public EmfImage(int width, int height)

Parameters

width int

Die Breite.

height int

Die Höhe.

Properties

BitsPerPixel

Wiederherstellen Sie die Bit-per-Pixel-Zahl spezifisch für Raster-Bilder, wie diese Parameternicht auf Vektorbilder anzuwenden. schnell die Pixeltiefe des Rasters feststellenBilder für genaue Analyse und Manipulation, die eine genaue Handhabung gewährleistenvon Bilddaten.

public override int BitsPerPixel { get; }

Eigentumswert

int

Exceptions

NotImplementedException

Invalid für Vektorbilder.

FileFormat

Zugriff auf den mit dem Objekt verbundenen Dateiformatwert.Format der Datei, die mit dem Objekt verbunden ist, für eine gestreute Verarbeitung undKompatibilitätschecks. Einfachen Sie Ihren Workflow durch die Wiederherstellung des DateiformatInformationen mit Leichtigkeit.

public override FileFormat FileFormat { get; }

Eigentumswert

FileFormat

Header

Wiederherstellen oder ändern Sie das EMF-Metafil-Header-Register mit diesem Eigentum.Methaphil-Daten effizient innerhalb Ihrer Anwendung verwalten. verbessern Sie Ihren Workflowmit effizienter Zugang zu metaphylen Header-Informationen.

public EmfMetafileHeader Header { get; set; }

Eigentumswert

EmfMetafileHeader

Höhenf

Wiederherstellen Sie die Höhe des Bildes und erleichtern Sie genaue Rendering und Layout-Anpassungen.Der Zugriff auf die Höhe-Eigenschaft gewährleistet Kompatibilität und Seamless Integration durchverschiedene Plattformen und Anwendungen.

public override float HeightF { get; }

Eigentumswert

float

IsCached

Zugriff auf einen Wert, der angibt, ob die Daten des Objekts derzeit verschlüsselt sind,eliminieren Sie die Notwendigkeit für zusätzliche Datenlesung. Erhöhen Sie die Effizienz schnellbestimmen, ob cached-Daten für unmittelbares Zugriff verfügbar sind.Workflow mit gestreutem Datenerfassungsprozess.

public override bool IsCached { get; }

Eigentumswert

bool

Records

Wiederherstellen oder Änderungen der mit dem Objekt verbundenen Aufzeichnungen.Verwaltung der Sammlung von Aufzeichnungen für verbesserte Datenmanipulation und Verarbeitung.Optimieren Sie Ihren Arbeitsfluss, indem Sie unbequem mit den Aufzeichnungen des Objekts interagieren.

public override MetaObjectList Records { get; set; }

Eigentumswert

MetaObjectList

WidthF

Zugang zur Breite des Bildes, die wesentliche Informationen zur GenauigkeitRendering und Verarbeitung. Schnell die Breite des Bildes zu erlangen, um Kompatibilität zu gewährleistenund ordnungsgemäße Layout innerhalb verschiedener Anwendungen und Plattformen.

public override float WidthF { get; }

Eigentumswert

float

Methods

CacheData()

Effizient cache Daten und verhindert redundante Ladung aus dem UntergrundAspose.Imaging.DataStreamSupporter.DataStreamContainer mit dieser Methode. VerbesserungLeistung und effizienter Zugang zu Daten in Ihrer Anwendung, RessourcenoptimierungVerwendung für verbesserte Reaktionsfähigkeit.

public override void CacheData()

Examples

Dieses Beispiel zeigt, wie man ein EMF-Bild aus einem Datei laden und alle seine Aufzeichnungen auflistet.

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

Wiederherstellen Sie die standardmäßigen Optionen für Ihr Bild ohne Mühe. mit dieser Funktion können SieSie können schnell auf die vorinstellten Konfigurationen zugreifen und sicherzustellen, dass die Integration undoptimale Leistung für Ihre Projekte. Ideal für den Workflow undKonsistente Ergebnisse über Ihre Bilder zu erzielen.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [][]

Die Argumente.

Returns

ImageOptionsBase

Default Optionen

GetOriginalOptions()

Erhalten Sie die ursprünglichen Bildoptionen.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Die ursprünglichen Bildoptionen.

GetUsedFonts()

Wiederherstellen Sie die Liste der in der Metaphäle verwendeten Schriften mit dieser Methode.Einblicke in die Benutzung von Schriftarten, die eine effiziente Verwaltung und Optimierung von Schriftarten erleichtertRessourcen für Verbesserung der Rendering und Demonstration der Treue.

public override string[] GetUsedFonts()

Returns

string [][]

Die Fontliste

ResizeCanvas(Rectangle)

Rückschreiben Sie die Kanvas leicht mit dieser Funktion. Perfekt für die Anpassung der GesamtheitDimensionen des Bildes, ohne seine Inhalte zu ändern. Verbesserung der Darstellung undVorbereiten Sie Bilder für verschiedene Displaygrößen ohne Mühe.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Der neue Rechteck.

SetPalette(IColorPalette und Bool)

Setzen Sie die Bildpalette.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

Die Palette zu setzen.

updateColors bool

wenn auf “richtige” Farben festgelegt wird, wird gemäß der neuen Palette aktualisiert; sonst bleiben die Farb-Indizes unverändert. Bitte beachten Sie, dass unveränderte Indizes das Bild auf der Ladung verschwinden können, wenn einige Indizes keine entsprechenden Palette-Einnahmen haben.

Exceptions

NotImplementedException

 Deutsch