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