Class WmfImage
Název místa: Aspose.Imaging.FileFormats.Wmf Shromáždění: Aspose.Imaging.dll (25.4.0)
Manipulovat snímky Microsoft Windows Metafile (WMF) s naším API, bezohlednězpracování jak vektorových, tak bitmapových dat uložených v souborech s variabilní délkou.Obnovte, otočte a flip obrázky snadno při nastavení přizpůsobených obrazových palet.Konvertovat WMF soubory do komprimovaných formátů WMZ nebo je uložit ve formátech raster obrázkůpro všestranné používání na platformách a aplikacích.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Dědiční členové
MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.GetCanNotSaveMessage(ImageOptionsBase) , MetaImage.SaveData(Stream) , 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.Modify(RectangleF, float, float, 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.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , 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.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , 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 wmz na obrázek wmf
string file = "example.wmz";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".wmf";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions() { PageSize = image.Size};
image.Save(outFile, new Aspose.Imaging.ImageOptions.WmfOptions() {VectorRasterizationOptions = vectorRasterizationOptions});
}
Následující příklad ukazuje, jak převést obrázek wmf na wmz odat
string file = "castle.wmf";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".wmz";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions() { PageSize = image.Size};
image.Save(outFile, new Aspose.Imaging.ImageOptions.WmfOptions() {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 obrázek WMF z souboru a převést ho na SVG pomocí WmfRasterizationOptions.
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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
{
Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();
// Text will be converted to shapes.
saveOptions.TextAsShapes = true;
Aspose.Imaging.ImageOptions.WmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions();
// The background color of the drawing surface.
rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;
// The page size.
rasterizationOptions.PageSize = wmfImage.Size;
// If embedded emf exists, then render emf; otherwise render wmf.
rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Wmf.WmfRenderMode.Auto;
saveOptions.VectorRasterizationOptions = rasterizationOptions;
wmfImage.Save(dir + "test.output.svg", saveOptions);
}
Constructors
WmfImage()
Vytvořte nový příklad třídy Aspose.Imaging.FileFormats.Wmf.WmfImage a začněte jejdalší manipulace a zpracování obrazových dat Windows Metafile (WMF).konstruktor poskytuje základní objekt pro práci s obrázky WMF, umožňujícíBezproblémová integrace schopností zpracování obrazu WMF do vaší aplikacea funkčnost.
[JsonConstructor]
public WmfImage()
WmfImage(a int, int)
Instantujte nový příklad třídy Aspose.Imaging.FileFormats.Wmf.WmfImage s přizpůsobitelnýmparametry šířky a výšky, které usnadňují tvorbu bílých obrazů WMFPřizpůsobte se specifickým rozměrům. Použijte tento konstruktor k dynamickémuWMF snímky s přesnými rozměry, které umožňují flexibilní tvorbu obrázků aManipulace v rámci vaší aplikace.
public WmfImage(int width, int height)
Parameters
width
int
A šířka.
height
int
na výšku.
Properties
BitsPerPixel
Zbavte se počtu bitů na pixel pro obrázek, což naznačuje úroveň barvyhloubka nebo granulace. Použijte tuto vlastnost k určení barvy obrazureprezentace a přesnost, které usnadňují kontroly kompatibility a barevné kontrolyzpracování v rámci vaší žádosti.
[JsonIgnore]
public override int BitsPerPixel { get; }
Hodnota nemovitosti
Exceptions
FileFormat
Přístup k hodnotě formátu souboru spojené s obrázkem, poskytuje informaceo formátu, ve kterém je obrázek uložen. Použijte tuto vlastnost k určeníformát souboru obrazu, který usnadňuje ověření kompatibility aFormátové zpracování ve vaší aplikaci.
public override FileFormat FileFormat { get; }
Hodnota nemovitosti
FrameBounds
Přístup k hranicím rámu, které naznačují jeho polohu a rozměry v rámciimage.Užívejte tuto vlastnost k získání podrobných informací o rámuprostorové umístění, které umožňuje přesnou manipulaci a renderování v rámci vaší aplikace.
public Rectangle FrameBounds { get; }
Hodnota nemovitosti
VysokýF
Přístup k výšce obrazu, který představuje počet pixelů po jeho vertikálníPoužijte tuto vlastnost, abyste zjistili prostorové rozměry a aspekt obrazupoměr, který umožňuje přesné uspořádání a provádění úprav v rámci aplikace.
public override float HeightF { get; }
Hodnota nemovitosti
Exceptions
Inch
Přístup nebo změna vlastnosti palce, což představuje jednotku měření typickyPoužívá se k určení fyzických rozměrů v tiskových nebo zobrazených kontextech.majetek pro stanovení nebo získání hodnot palce souvisejících s obrazem,Umožňuje přesnou reprezentaci fyzických rozměrů v rámci vaší aplikace.
public int Inch { get; set; }
Hodnota nemovitosti
IsCached
Obnovte booleánovou hodnotu, která naznačuje, zda jsou údaje objektu v současné době kryt,odstranění potřeby dodatečných operací pro čtení dat. Použijte tento majetekoptimalizovat výkon tím, že určí, zda jsou údaje objektu snadno dostupnébez nutnosti nákladných procesů získávání údajů v rámci vaší žádosti.
public override bool IsCached { get; }
Hodnota nemovitosti
Exceptions
WidthF
Přístup k šířce obrazu, který naznačuje počet pixelů po jehoPoužijte tuto vlastnost k určení prostorových rozměrů obrazua aspektní poměr, který umožňuje přesné uspořádání a provádění úprav v rámci vašehoAplikace.
public override float WidthF { get; }
Hodnota nemovitosti
Exceptions
Methods
AddRecord(WmfObject)
Vložte specifikovaný záznamový objekt do obrazu, obohacením jeho obsahu sdalší data nebo metadata. Použijte tuto metodu k bezproblémové integraci záznamůObjekty do obrazu, které usnadňují komplexní ukládání a organizaci datv rámci vaší žádosti.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
To je rekord.
Returns
Počet záznam.
CacheData()
Účinně ukládat data, eliminovat potřebu dodatečného nabití zpodklad Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Použijte totoMetoda optimalizace výkonu a minimalizace využívání zdrojů ve vaší aplikaciukládáním a přístupem k místnímu datovému cache.
public override void CacheData()
Examples
Tento příklad ukazuje, jak nahrát obrázek WMF 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.Wmf.WmfImage wmfImage = (Aspose.Imaging.FileFormats.Wmf.WmfImage)Aspose.Imaging.Image.Load(dir + "test.wmf"))
{
// Cache data to load all records.
wmfImage.CacheData();
System.Console.WriteLine("The total number of records: {0}", wmfImage.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.Wmf.Objects.WmfObject obj in wmfImage.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: 613
//Record Type Count
//----------------------------------------------
//WmfSetBkMode: 1
//WmfSetTextAlign: 1
//WmfSetRop2: 1
//WmfSetWindowOrg: 1
//WmfSetWindowExt: 1
//WmfCreateBrushInDirect: 119
//WmfSelectObject: 240
//WmfCreatePenInDirect: 119
//WmfSetPolyFillMode: 1
//WmfPolyPolygon: 114
//WmfPolyLine: 7
//WmfSetTextColor: 2
//WmfCreateFontInDirect: 2
//WmfExtTextOut: 2
//WmfDibStrechBlt: 1
//WmfEof: 1</system.type,></system.type,></system.type,>
Exceptions
GetDefaultOptions(Objekt[])
Obnovte výchozí možnosti spojené s obrázkem, které poskytují přístup kpředdefinované nastavení nebo konfigurace. Použijte tuto metodu k přístupu výchozím způsobemnastavení pro zpracování obrazu, usnadňující konzistenci a pohodlív rámci funkce vaší aplikace.
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.
GetPostScript()
Přístup k údajům PostScript souvisejícím s obrázkem, který poskytuje podrobné informaceinformace o jeho struktuře nebo obsahu. Použijte tuto metodu k získáníPostScript údaje pro další analýzu nebo zpracování v rámci vaší aplikace,Poskytování pokročilých funkcí souvisejících s renderováním nebo manipulací PostScript.
public string GetPostScript()
Returns
Post scénář
GetUsedFonts()
Obnovte seznam písmen používaných v metafýli, který poskytuje vhled dozdrojů fontů použitých ve snímku. Použijte tuto metodu k analýze používání fontůa zajistit dostupnost písma pro renderování nebo další zpracování v rámci vaší aplikace.
public override string[] GetUsedFonts()
Returns
string []a[]
Seznam fontů
ResizeCanvas(Rectangle)
Obnovte kanvas obrazu, upravte jeho rozměry při zachování obrazuPoužijte tuto metodu, abyste změnili velikost kanvasu bez změnyobsah, usnadňující úpravy uspořádání a změny složení v rámci vašehoAplikace.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Nový pravý úhel.
Exceptions
SetPalette(IkolorPalette, Boolová)
Na obrázek aplikujte specifikovanou paletu, což umožňuje přizpůsobení barvyVyužijte tuto metodu ke zlepšení vizuálního renderování aspecifické barevné účinky v rámci vaší aplikace.
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.