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
Exceptions
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
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
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
Exceptions
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
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
Exceptions
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
Exceptions
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
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
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
Default Optionen
GetOriginalOptions()
Erhalten Sie die ursprünglichen Bildoptionen.
public override ImageOptionsBase GetOriginalOptions()
Returns
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
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
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.