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
Exceptions
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
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
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
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
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
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
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
De standaardopties
GetOriginalOptions()
Krijg de oorspronkelijke beeldopties.
public override ImageOptionsBase GetOriginalOptions()
Returns
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.