Class EmfImage
Pôvodný názov: Aspose.Imaging.FileFormats.Emf Zhromaždenie: Aspose.Imaging.dll (25.4.0)
Podpora API pre rozšírený formát metafilu (EMF) vektorového formátu obrazu jekomplexný nástroj na spracovanie grafických obrazov v nezávislom zariadeníspôsob, ako zachovať svoje pôvodné vlastnosti. vyvinutý na zachovanieproporcie, rozmery, farby a iné grafické atribúty, ktoré zahŕňajúPodpora formátu EMF Plus a funkcie pre kopačné regióny, rezačné kanvasya obrázky, otáčanie, flipping, nastavenie obrazových palet, exportovanie a importovaniena kontext zariadenia APS, komprimovanie a konverzia EMF do iných formátov, zabezpečenievšestranná manipulácia a bezproblémová integrácia obrazov EMF v aplikáciách.
[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← EmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Z dedičných členov
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
Nasledujúci príklad ukazuje, ako premeniť emz obrázky na emf odat
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});
}
Nasledujúci príklad ukazuje, ako premeniť obrázok emf na 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});
}
Nasledujúci príklad ukazuje, ako premeniť komprimované obrázky (a EMZ,.wmz, *.svgz) na raster odat
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});
}
}
Tento príklad ukazuje, ako nahrať EMF obrázok z súboru a premeniť ho na SVG pomocou 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()
Začnite pracovať s obrazmi EMF iniciovaním novej inštancieAspose.Imaging.FileFormats.Emf. EmfImage trieda. Ideálne pre rýchle začlenenie EMF obrázkov doVáš projekt je jednoduchý a efektívny.
[JsonConstructor]
public EmfImage()
EmfImage(a int, int)
Vytvorte novú inštanciu triedy Aspose.Imaging.FileFormats.Emf. EmfImage špecifikáciou šírkya výška parametrov. Tento konštruktor zjednodušuje proces iniciovaniaEMF obrázky so špecifickými rozmermi, ktoré zvyšujú efektívnosť vášho vývojapracovný tok .
public EmfImage(int width, int height)
Parameters
width
int
Na šírku .
height
int
na výšku .
Properties
BitsPerPixel
Obnoviť počítanie bit-per-pixel špecifické pre raster obrázky, ako tento parameterneplatí pre vektorové obrázky. rýchlo zistiť hĺbku pixelov rastusnímky pre presnú analýzu a manipuláciu, zaisťovanie presnej manipulácies obrázkovými údajmi.
public override int BitsPerPixel { get; }
Hodnota nehnuteľnosti
Exceptions
Invalidné pre vektorové obrázky.
FileFormat
Prístup k hodnoty formátu súboru spojené s objektom.formát súboru spojený s objektom pre zjednodušené spracovanie akompatibilita kontroly. zjednodušiť váš pracovný tok získaním formátu súboruInformácie s ľahkosťou.
public override FileFormat FileFormat { get; }
Hodnota nehnuteľnosti
Header
Obnoviť alebo zmeniť EMF metafýlový titulný záznam s touto vlastnosťou.efektívne spravovať metafyzické údaje vo vašej aplikácii.Zlepšenie pracovného tokuso zjednodušeným prístupom k informáciám o metafyzických hlavách.
public EmfMetafileHeader Header { get; set; }
Hodnota nehnuteľnosti
VysokýF
Obnoviť výšku obrazu, čo uľahčuje presné renderovanie a úpravy rozloženia.Prístup k vlastnosti výšky zaisťuje kompatibilitu a bezdrôtovú integráciu medzirôzne platformy a aplikácie.
public override float HeightF { get; }
Hodnota nehnuteľnosti
IsCached
Dostupnosť hodnoty, ktorá naznačuje, či sú údaje objektu v súčasnosti kryté,odstránenie potreby ďalšieho čítania údajov.Výkonnosť sa rýchlo zvyšujeurčiť, či sú k dispozícii cachované údaje pre okamžitý prístup.pracovný tok so zjednodušenými procesmi prijímania údajov.
public override bool IsCached { get; }
Hodnota nehnuteľnosti
Records
Obnoviť alebo zmeniť záznamy súvisiace s objektom. efektívny prístup aspravovať zhromažďovanie záznamov na zlepšenie manipulácie a spracovania údajov.Optimalizujte svoj pracovný tok bezproblémovou interakciou s záznammi objektu.
public override MetaObjectList Records { get; set; }
Hodnota nehnuteľnosti
Vtáčik
Prístup k šírke obrazu, ktorý poskytuje dôležité informácie pre presnosťrenderovanie a spracovanie. rýchlo získať šírku obrazu, aby sa zabezpečila kompatibilitaa správne usporiadanie v rámci rôznych aplikácií a platforiem.
public override float WidthF { get; }
Hodnota nehnuteľnosti
Methods
CacheData()
Efektívne cache údajov a zabrániť redundantné zaťaženie z podkladovýchAspose.Imaging.DataStreamSupporter.Toto metódu používajte na zdokonaľovanievýkonnosť a rýchly prístup k údajom vo vašej aplikácii, optimalizácia zdrojovPoužitie pre lepšiu reakciu.
public override void CacheData()
Examples
Tento príklad ukazuje, ako nahrať obrázok EMF z súboru a zoznam všetkých jeho záznamov.
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(objekty[])
Obnoviť predvolené možnosti pre váš obrázok bez námahy. s touto funkciou,umožňuje rýchly prístup k prednastaveným konfiguráciám, zabezpečuje bezproblémovú integráciu aoptimálny výkon pre vaše projekty. ideálne pre zjednodušenie vášho pracovného toku adosiahnuť konzistentné výsledky cez vaše obrázky.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
Sú to argumenty.
Returns
Predvolené možnosti
GetOriginalOptions()
Získajte originálne možnosti obrazu.
public override ImageOptionsBase GetOriginalOptions()
Returns
Možnosti originálneho obrazu.
GetUsedFonts()
Obnoviť zoznam písmen používaných v metafyle pomocou tejto metódy.vnímanie používania písma, uľahčenie efektívneho riadenia a optimalizácieZvýšenie renderovania a vernosti zobrazovania.
public override string[] GetUsedFonts()
Returns
string []
Zoznam fontov
ResizeCanvas(Rectangle)
Odstráňte kanvy s ľahkosťou pomocou tejto funkcie.Vhodné na úpravu celkovejrozmery obrazu bez zmeny jeho obsahu.Vylepšenie prezentácie aPripravte obrázky pre rôzne veľkosti displeja bez námahy.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Nový pravý kút.
SetPalette(IkolorPalette, Boolová)
Vytvorte obrazovú paletu.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Paleta na nastavenie.
updateColors
bool
Ak je nastavený na “skutočné” farby budú aktualizované podľa novej palety; inak farebné indexy zostanú nezmenené.