Class WmfImage

Class WmfImage

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

Manipulieren von Microsoft Windows Metafile (WMF) Bilder mit unserer API, unbequemeBearbeiten Sie sowohl Vektor- als auch Bitmap-Daten, die innerhalb von Variable-Länge-Daten gespeichert werden.Umschalten, drehen und flip Bilder leicht während der Einstellung anpassender Bildpaletten.Konvertieren Sie WMF-Dateien in komprimierte WMZ-Formate oder speichern Sie sie in Raster-Bildformatenfür eine vielseitige Nutzung über Plattformen und Anwendungen.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage WmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Vererbte Mitglieder

MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.GetCanNotSaveMessage(ImageOptionsBase) , MetaImage.SaveData(Stream) , 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.Modify(RectangleF, float, float, 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.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , 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.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Das folgende Beispiel zeigt, wie man ein wmz Bild in wmf ausat konvertiert

string file = "example.wmz";
                                                                                string baseFolder = System.IO.Path.Combine("D:", "Compressed");
                                                                                string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                string outFile = inputFile + ".wmf";
                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                {
                                                                                    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions() { PageSize = image.Size};
                                                                                    image.Save(outFile, new Aspose.Imaging.ImageOptions.WmfOptions() {VectorRasterizationOptions = vectorRasterizationOptions});
                                                                                }

Das folgende Beispiel zeigt, wie man eine wmf-Bilder in wmz fromat umwandelt

string file = "castle.wmf";
                                                                                string baseFolder = System.IO.Path.Combine("D:", "Compressed");
                                                                                string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                string outFile = inputFile + ".wmz";
                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                {
                                                                                    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions() { PageSize = image.Size};
                                                                                    image.Save(outFile, new Aspose.Imaging.ImageOptions.WmfOptions() {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 WMF-Bild aus einem Datei laden und es in SVG mit WmfRasterizationOptions umwandeln kann.

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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
                                                                                                                      {
                                                                                                                          Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();

                                                                                                                          // Text will be converted to shapes.
                                                                                                                          saveOptions.TextAsShapes = true;

                                                                                                                          Aspose.Imaging.ImageOptions.WmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions();

                                                                                                                          // The background color of the drawing surface.
                                                                                                                          rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;

                                                                                                                          // The page size.
                                                                                                                          rasterizationOptions.PageSize = wmfImage.Size;

                                                                                                                          // If embedded emf exists, then render emf; otherwise render wmf.
                                                                                                                          rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Wmf.WmfRenderMode.Auto;

                                                                                                                          saveOptions.VectorRasterizationOptions = rasterizationOptions;

                                                                                                                          wmfImage.Save(dir + "test.output.svg", saveOptions);
                                                                                                                      }

Constructors

WmfImage()

Erstellen Sie eine neue Instanz der Aspose.Imaging.FileFormats.Wmf.WmfImage Klasse, initialisieren Sie sie fürweitere Manipulation und Verarbeitung von Windows Metafile (WMF) Bilddaten.Konstruktor bietet ein grundlegendes Objekt für die Arbeit mit WMF-Bilder, dieunbequeme Integration der WMF-Bildbehandlungsfähigkeiten in Ihre Anwendungdie Funktionalität.

[JsonConstructor]
public WmfImage()

WmfImage(und int, int)

Installieren Sie eine neue Instanz der Aspose.Imaging.FileFormats.Wmf.WmfImage Klasse mit anpassbarerBreite und Höhe-Parameter, die die Erstellung von weißen WMF-Bilder erleichternan bestimmte Dimensionen angepasst. Verwenden Sie diesen Konstruktor, um dynamisch zu generierenWMF Bilder mit präzisen Dimensionen, die eine flexible Bildschöpfung ermöglichen undManipulation innerhalb Ihrer Anwendung.

public WmfImage(int width, int height)

Parameters

width int

Die Breite.

height int

Die Höhe.

Properties

BitsPerPixel

Reduzieren Sie die Anzahl von Bits pro Pixel für das Bild, die das Farbniveau angibtTiefe oder Granularität. Verwenden Sie diese Eigenschaft, um die Farbe des Bildes zu bestimmenRepräsentation und Genauigkeit, die Kompatibilitätsprüfungen und Farbenverhältnisse erleichtertVerarbeitung innerhalb Ihrer Anwendung.

[JsonIgnore]
public override int BitsPerPixel { get; }

Eigentumswert

int

Exceptions

NotImplementedException

FileFormat

Zugriff auf den mit dem Bild verbundenen Dateiformatwert, die Informationen zur Verfügung stelltüber das Format, in dem das Bild gespeichert wird. Verwenden Sie diese Eigenschaft, um festzustellendas Dateiformat des Bildes, die Kompatibilitätschecks erleichtert undFormatspezifische Verarbeitung innerhalb Ihrer Anwendung.

public override FileFormat FileFormat { get; }

Eigentumswert

FileFormat

FrameBounds

Zugang zu den Grenzen des Rahmenes, die seine Position und Dimensionen innerhalb desBild. Verwenden Sie diese Eigenschaft, um detaillierte Informationen über den Rahmen zu erhaltenspatiale Lage, die eine genaue Manipulation und Rendering innerhalb Ihrer Anwendung ermöglicht.

public Rectangle FrameBounds { get; }

Eigentumswert

Rectangle

Höhenf

Zugriff auf die Bildhöhe, die die Anzahl der Pixel entlang der vertikalenAxis. Verwenden Sie diese Eigenschaft, um die Raumdimensionen und Aspekte des Bildes zu bestimmenVerhältnis, die eine genaue Layout ermöglicht und Anpassungen innerhalb Ihrer Anwendung ermöglicht.

public override float HeightF { get; }

Eigentumswert

float

Exceptions

NotImplementedException

Inch

Zugriff oder Änderung der Inch-Eigenschaft, die eine Messungseinheit typisch darstelltverwendet, um physische Dimensionen in Druck- oder Displaykontexten zu spezifizieren.Eigentum, um mit dem Bild verbundene Zollwerte zu bestimmen oder zu erlangen,Erleichterung der genauen Darstellung von physischen Dimensionen innerhalb Ihrer Anwendung.

public int Inch { get; set; }

Eigentumswert

int

IsCached

Erhalten Sie einen Booleanwert, der angibt, ob die Daten des Objekts derzeit verschlüsselt sind,eliminieren Sie die Notwendigkeit für zusätzliche Datenlesungen. Verwenden Sie dieses Eigentumdie Leistung optimieren, indem festgestellt wird, ob die Daten des Objekts leicht verfügbar sindohne die Notwendigkeit kostengünstiger Datenerfassungsprozesse innerhalb Ihrer Anfrage.

public override bool IsCached { get; }

Eigentumswert

bool

Exceptions

NotImplementedException

WidthF

Zugriff auf die Breite des Bildes, die die Anzahl der Pixel entlang seinerhorizontale Axe. Verwenden Sie diese Eigenschaft, um die Raumdimensionen des Bildes zu bestimmenund Aspektverhältnis, die eine genaue Layout ermöglicht und Anpassungen innerhalb IhresDie Anwendung.

public override float WidthF { get; }

Eigentumswert

float

Exceptions

NotImplementedException

Methods

AddRecord(WmfObject)

Die angegebenen Aufzeichnungsobjekte in das Bild einfügen und seine Inhalte mitzusätzliche Daten oder Metadaten. Verwenden Sie diese Methode, um die Aufzeichnungen unbeabsichtigt zu integrierenObjekte in das Bild, die umfassende Datenspeicherung und Organisation erleichterninnerhalb Ihrer Anforderung.

public int AddRecord(WmfObject record)

Parameters

record WmfObject

Das Rekord.

Returns

int

Anzahl der Rekorde.

CacheData()

Effizient cachen Sie die Daten, beseitigen Sie die Notwendigkeit für zusätzliche Ladung aus derunter Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Verwenden Sie diesMethode, um die Leistung zu optimieren und die Ressourcenverwendung innerhalb Ihrer Anwendung zu minimierendurch Speicherung und Zugang zu lokalen Datencache.

public override void CacheData()

Examples

Dieses Beispiel zeigt, wie man ein WMF-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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
                                                                                              {
                                                                                                  // Cache data to load all records.
                                                                                                  wmfImage.CacheData();
                                                                                                  System.Console.WriteLine("The total number of records: {0}", wmfImage.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.Wmf.Objects.WmfObject obj in wmfImage.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: 613
                                                                                              //Record Type                              Count
                                                                                              //----------------------------------------------
                                                                                              //WmfSetBkMode:                            1
                                                                                              //WmfSetTextAlign:                         1
                                                                                              //WmfSetRop2:                              1
                                                                                              //WmfSetWindowOrg:                         1
                                                                                              //WmfSetWindowExt:                         1
                                                                                              //WmfCreateBrushInDirect:                  119
                                                                                              //WmfSelectObject:                         240
                                                                                              //WmfCreatePenInDirect:                    119
                                                                                              //WmfSetPolyFillMode:                      1
                                                                                              //WmfPolyPolygon:                          114
                                                                                              //WmfPolyLine:                             7
                                                                                              //WmfSetTextColor:                         2
                                                                                              //WmfCreateFontInDirect:                   2
                                                                                              //WmfExtTextOut:                           2
                                                                                              //WmfDibStrechBlt:                         1
                                                                                              //WmfEof:                                  1</system.type,></system.type,></system.type,>

Exceptions

NotImplementedException

GetDefaultOptions(Objekt[])

Wiederherstellen der mit dem Bild verbundenen Standard-Optionen, die Zugriff aufVordefinierte Einstellungen oder Konfigurationen. Verwenden Sie diese Methode, um StandardzugriffEinstellungen für Bildverarbeitung, die Konsistenz und Komfort erleichtertinnerhalb der Funktionalität Ihrer Anwendung.

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.

GetPostScript()

Zugriff auf die mit dem Bild verbundenen PostScript-Daten, die detaillierteInformationen über seine Struktur oder Inhalt. Verwenden Sie diese Methode, umPostScript-Daten für weitere Analyse oder Verarbeitung innerhalb Ihrer Anwendung,Erweiterte Funktionalität im Zusammenhang mit PostScript-Rendering oder Manipulation ermöglichen.

public string GetPostScript()

Returns

string

Das Postscript

GetUsedFonts()

Wiederherstellen Sie die Liste der in der Metaphäle verwendeten Schriften, die einen Einblick in dieFont Ressourcen im Bild verwendet. Verwenden Sie diese Methode, um die Fontanwendung zu analysierenund sicherzustellen, dass die Schrift zur Verfügung steht, um innerhalb Ihrer Anwendung zu renderieren oder weiter zu verarbeiten.

public override string[] GetUsedFonts()

Returns

string [][]

Die Fontliste

ResizeCanvas(Rectangle)

Rückschreiben Sie die Kanvas des Bildes, die Dimensionen anpassen und gleichzeitig das Bild behaltenVerwenden Sie diese Methode, um die Größe der Kanvas zu ändern, ohne dieInhalte, die Layout-Anpassungen und Zusammensetzungänderungen innerhalb IhresDie Anwendung.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Der neue Rechteck.

Exceptions

NotImplementedException

SetPalette(IColorPalette und Bool)

Anwendung einer angegebenen Palette auf das Bild, die die Anpassung der Farbe ermöglichtVerwenden Sie diese Methode zur Verbesserung der visuellen Renderung undspezifische Farbwirkungen innerhalb Ihrer Anwendung.

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 Farbindizes unverändert. Bitte beachten Sie, dass unveränderte Indizes das Bild auf der Ladung verschwinden können, wenn einige Indizes nicht entsprechen Palette-Einnahmen haben.

Exceptions

NotImplementedException

 Deutsch