Class EmfImage
A név: Aspose.Imaging.FileFormats.Emf Összefoglaló: Aspose.Imaging.dll (25.4.0)
Az Advanced Metafile Format (EMF) vektor képformátum támogatásaátfogó eszköz a grafikus képek feldolgozására egy készülék-függetlenaz eredeti tulajdonságok megőrzésének módja. kifejlesztettarányok, dimenziók, színek és egyéb grafikai attribútumok:EMF Plus formátum-támogatás és funkciók a termesztési régiókhoz, az újrafeldolgozó csövekhezés képek, forgatás, flipping, beállítása kép paletták, exportálás és importálásaz APS készülék összefüggéséhez, az EMF tömörítéséhez és más formátumokba történő átalakításához,Az EMF-képek sokoldalú manipulációja és átlátszatlan integrálása alkalmazásokon keresztül.
[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← EmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Örökletes tagok
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
A következő példa azt mutatja, hogyan lehet átalakítani egy emz képet az 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});
}
A következő példa azt mutatja, hogyan lehet átalakítani egy emf képet 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});
}
A következő példa azt mutatja, hogyan kell átalakítani egy tömörített képet (Az EMZ,.wmz, *.svgz) a raster fromathoz
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});
}
}
Ez a példa azt mutatja, hogyan kell feltölteni egy EMF képet a fájlból, és konvertálni SVG használatával 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()
Kezdje a munkát az EMF képekkel azáltal, hogy egy új példát kezdeményez aAspose.Imaging.FileFormats.Emf. EmfImage osztály. Ideális az EMF képek gyorsan beépítéséhezA projektek könnyűséggel és hatékonysággal.
[JsonConstructor]
public EmfImage()
EmfImage(Az int, int)
Hozzon létre egy új példát a Aspose.Imaging.FileFormats.Emf. EmfImage osztályt a szélesség meghatározásávalés a magasság paraméterek. Ez az építő egyszerűsíti a kezdeményezés folyamatátEMF képek speciális dimenziókkal, növelve a fejlesztés hatékonyságátA munkafolyamat.
public EmfImage(int width, int height)
Parameters
width
int
A szélesség.
height
int
A magasság.
Properties
BitsPerPixel
Visszaállítsa a bit-per-pixel szám specifikus a raster képek, mivel ez a paraméternem vonatkozik a vektor képek. Gyorsan azonosítsa a pixel mélységét a rasterképek pontos elemzés és manipuláció, biztosítva a pontos kezeléstA kép adatai.
public override int BitsPerPixel { get; }
ingatlan értéke
Exceptions
Vektoros képek használata.
FileFormat
Hozzáférés az objektumhoz kapcsolódó fájlformátum értékehez. könnyen meghatározható aa fájl formátumát, amely az objektumhoz kapcsolódik az egyszerűsített feldolgozáshoz, éskompatibilitási ellenőrzések. Egyszerűsítse a munkafolyamatot a fájlformátum visszavonásávalInformációk könnyedén.
public override FileFormat FileFormat { get; }
ingatlan értéke
Header
Visszaállítani vagy módosítani az EMF metafil fejléc rekordot ezzel a tulajdonsággal.hatékonyan kezeli a metafizikai adatokat az alkalmazáson belül. javítja a munkafolyamatota metafizikai címkével kapcsolatos információkhoz való egyszerűsített hozzáférés.
public EmfMetafileHeader Header { get; set; }
ingatlan értéke
Felsőf
Visszaállítsa a kép magasságát, lehetővé téve a pontos renderelést és a layout beállításokat.A magasság tulajdonsághoz való hozzáférés biztosítja a kompatibilitást és az átjáró integrációtkülönböző platformok és alkalmazások.
public override float HeightF { get; }
ingatlan értéke
IsCached
Hozzon hozzá egy értéket, amely azt jelzi, hogy az objektum adatait jelenleg titkosítják-e,a további adatok olvasásának szükségességének kiküszöbölése.A hatékonyság növelése gyorsanannak meghatározása, hogy a cache adatokat azonnali hozzáférés céljából áll-e rendelkezésre.munkafolyamat az adatvisszatérítési folyamatok egyszerűsítésével.
public override bool IsCached { get; }
ingatlan értéke
Records
helyreállítani vagy módosítani a objektumhoz kapcsolódó rekordokat. hatékony hozzáférés ésa nyilvántartások gyűjtésének kezelése az adatkezelés és feldolgozás javítása érdekében.Optimalizálja a munkafolyamatot azáltal, hogy szűkületesen kölcsönhatásba lép az objektum rekordjaival.
public override MetaObjectList Records { get; set; }
ingatlan értéke
Szilveszter
Hozzáférés a kép szélességéhez, amely alapvető információkat biztosít a pontosrenderelés és feldolgozás. gyorsan visszanyeri a kép szélességét, hogy biztosítsák a kompatibilitástés megfelelő elrendezés a különböző alkalmazások és platformok között.
public override float WidthF { get; }
ingatlan értéke
Methods
CacheData()
Hatékonyan titkosítja az adatokat, és megakadályozza a redundáns terhelést az alaptólAspose.Imaging.DataStreamSupporter.Továbbfejlesztésteljesítmény és az adatok hozzáférésének egyszerűsítése az alkalmazásban, az erőforrás optimalizálásaHasználat a jobb reagálhatóság érdekében.
public override void CacheData()
Examples
Ez a példa azt mutatja, hogyan kell feltölteni egy EMF képet egy fájlból, és felsorolja az összes rekordot.
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(objektum[])
Visszaállítsa a kép alapértelmezett opcióit erőteljesen. ezzel a funkcióvalgyorsan hozzáférhet az előre beállított konfigurációkhoz, biztosítva a vezeték nélküli integrációt ésoptimális teljesítményt a projektek számára. ideális a munkafolyamat egyszerűsítéséhez éskövetkezetes eredmények elérése a képeken keresztül.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
Az érvek.
Returns
Default opciók
GetOriginalOptions()
Megkapja az eredeti kép opciókat.
public override ImageOptionsBase GetOriginalOptions()
Returns
Az eredeti kép opciók.
GetUsedFonts()
Visszaállítsa a metafizika alatt használt betűtípusok listáját ezzel a módszerrel.a betűtípusok használatára vonatkozó betekintés, lehetővé téve a fontok hatékony kezelését és optimalizálásáterőforrások a javított renderelés és a kijelző hűség.
public override string[] GetUsedFonts()
Returns
string []
A font listája
ResizeCanvas(Rectangle)
Használja ezt a funkciót könnyedén.Tökéletes az általános beállításhoza kép mérete anélkül, hogy megváltoztatná annak tartalmát. javítja a bemutatást ésKészítsen képeket a különböző kijelzőméretekhez keményen.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Az új rektangulát.
SetPalette(Székesfehérvár, Bool)
Állítsa be a kép palettáját.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
A palettát be kell állítani.
updateColors
bool
ha a “valódi” színekre van beállítva, az új palettával összhangban frissül; különben a színindexek változatlanok maradnak.