Class EmfImage
Název místa: Aspose.Imaging.FileFormats.Emf Shromáždění: Aspose.Imaging.dll (25.4.0)
API pro podporu vektorového formátu obrazu s vylepšeným formátem metafilu (EMF)komplexní nástroj pro zpracování grafických snímků v nezávislém zařízenízpůsoby při zachování jejich původních vlastností. vyvinutý k zachováníproporce, rozměry, barvy a další grafické atributy, zahrnujeEMF Plus formátová podpora a funkce pro hospodářské oblasti, resing kanvasa snímky, otáčení, flipping, nastavení obrazových palet, export a importdo kontextu zařízení APS, komprese a konverze EMF do jiných formátů, zajišťujícívšestranná manipulace a bezproblémová integrace obrazů EMF v aplikacích.
[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← EmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Dědiční č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
Následující příklad ukazuje, jak převést obrázek emz na 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});
}
Následující příklad ukazuje, jak převést obrázek 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});
}
Následující příklad ukazuje, jak převést komprimované obrázky (.a EMZ,.wmz, *.svgz) k rastu
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 příklad ukazuje, jak nahrát EMF obrázek z souboru a převést ho na SVG pomocí 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čněte pracovat s snímky EMF iniciováním nové instanceAspose.Imaging.FileFormats.Emf.EmfImage třída. Ideální pro rychlé začlenění EMF obrázků doVaše projekty s jednoduchostí a efektivitou.
[JsonConstructor]
public EmfImage()
EmfImage(a int, int)
Vytvořte nový příklad třídy Aspose.Imaging.FileFormats.Emf.EmfImage tím, že specifikujete šířkua výška parametrů. Tento konstruktor zjednodušuje proces iniciováníEMF snímky s specifickými rozměry, které zvyšují efektivitu vašeho vývojepracovního toku.
public EmfImage(int width, int height)
Parameters
width
int
A šířka.
height
int
na výšku.
Properties
BitsPerPixel
Zbavte se počtu bitů na pixel specifické k raster obrázky, protože tento parametrneplatí pro vektorové obrázky. rychle zjistit hloubku pixelů rastusnímky pro přesnou analýzu a manipulaci, zajistit přesnou manipulaciData z obrazu.
public override int BitsPerPixel { get; }
Hodnota nemovitosti
Exceptions
Invalidní pro vektorové snímky.
FileFormat
Připojte se k hodnotě formátu souboru spojené s objektem.formát souboru spojený s předmětem pro zjednodušené zpracování azjednodušení pracovního toku tím, že získá formát souboruInformace s lehkost.
public override FileFormat FileFormat { get; }
Hodnota nemovitosti
Header
Obnovte nebo upravte záznam hlavy metafylu EMF s touto vlastností.efektivně spravovat metafyzické údaje v rámci vaší aplikace. zlepšit pracovní toks zjednodušeným přístupem k informacím o metafyzických titulcích.
public EmfMetafileHeader Header { get; set; }
Hodnota nemovitosti
VysokýF
Obnovte výšku obrazu, což usnadňuje přesné úpravy renderování a uspořádán.Přístup k vlastnosti výšky zajišťuje kompatibilitu a bezdrátovou integraci mezirůzné platformy a aplikace.
public override float HeightF { get; }
Hodnota nemovitosti
IsCached
Přístup k hodnotě, která naznačuje, zda jsou data objektu v současné době kryt,odstranění potřeby dodatečného čtení dat. Zvýšení účinnosti rychlezjistit, zda jsou k dispozici kryté údaje pro okamžitý přístup.Pracovní tok se zjednodušenými procesy získávání dat.
public override bool IsCached { get; }
Hodnota nemovitosti
Records
Obnovte nebo upravte záznamy související s objektem.správu shromažďování záznamů pro zlepšenou manipulaci a zpracování dat.Optimalizujte tok práce tím, že se bezproblémově interagujete s záznamy objektu.
public override MetaObjectList Records { get; set; }
Hodnota nemovitosti
WidthF
Přístup k šířce obrazu, který poskytuje důležité informace pro přesnostrenderování a zpracování. rychle získat šířku obrazu, aby se zajistila kompatibilitaa správné uspořádání v různých aplikacích a platformách.
public override float WidthF { get; }
Hodnota nemovitosti
Methods
CacheData()
Účinně cache data a zabránit redundantní nabití z podkladovýchAspose.Imaging.DataStreamSupporter.DataStreamContainer s touto metodou.výkonnost a zjednodušení přístupu k datům ve vaší aplikaci, optimalizace zdrojůPoužití pro zvýšenou odpovědnost.
public override void CacheData()
Examples
Tento příklad ukazuje, jak nahrát EMF obrázek z souboru a seznam všech jeho záznam.
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[])
Obnovte výchozí možnosti pro váš obrázek bez námahy. s touto funkcíumožňuje rychlý přístup k předem nastaveným konfiguracím, zajišťuje bezproblémovou integraci aoptimální výkon pro vaše projekty. ideální pro zjednodušení vašeho pracovního toku aDosáhnout konzistentních výsledků přes vaše obrazy.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]a[]
a argumenty.
Returns
Defaultní možnosti
GetOriginalOptions()
Získejte originální možnosti obrazu.
public override ImageOptionsBase GetOriginalOptions()
Returns
Originální možnosti obrazu.
GetUsedFonts()
Obnovte seznam písmen používaných v metafýli pomocí této metody.znalosti o používání písma, usnadnění efektivního řízení a optimalizace písmaprostředky pro zvýšené renderování a věrnost zobrazen.
public override string[] GetUsedFonts()
Returns
string []a[]
Seznam fontů
ResizeCanvas(Rectangle)
Použijte tuto funkci snadno a dokonale na úpravu celkovéhorozměry obrazu bez změny jeho obsahu.Zlepšení prezentace aPřipravte obrázky pro různé rozměry displeje bez námahy.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Nový pravý úhel.
SetPalette(IkolorPalette, Boolová)
Vytvořte paletu obrazu.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Paleta je na nastaven.
updateColors
bool
pokud je nastaven na “skutečné” barvy budou aktualizovány podle nové palety; jinak barevné indexy zůstávají nezměněny.