Class WmfImage
A név: Aspose.Imaging.FileFormats.Wmf Összefoglaló: Aspose.Imaging.dll (25.4.0)
A Microsoft Windows Metafile (WMF) képek manipulálása az API-nkkelVektor és bitmappadatok kezelése a változó hosszúságú nyilvántartásokban tárolt adatokkal.Helyreállítsa, forgatja és flip képeket könnyedén, miközben beállítja a személyre szabott képpalettákat.Konvertáljuk a WMF fájlokat tömörített WmZ formátumokba, vagy mentjük őket a raster képformátumokbansokoldalú felhasználásra platformokon és alkalmazásokon keresztül.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Örökletes tagok
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
A következő példa azt mutatja, hogyan lehet átalakítani egy wmz képet a Wmf fromat
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});
}
A következő példa azt mutatja, hogyan lehet átalakítani egy wmf képet a Wmz fromat
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});
}
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 WMF képet egy fájlból, és átalakítani SVG használatával 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()
Hozzon létre egy új példányt a Aspose.Imaging.FileFormats.Wmf.MWfImage osztályból, kezdeményezve atovábbi manipuláció és a Windows Metafile (WMF) képadatok feldolgozása.a konstruktor alapvető objektumot biztosít a WMF képekkel való együttműködéshez, lehetővé téveA WMF képkezelési képességek beépítése az alkalmazásbaA funkcionalitás.
[JsonConstructor]
public WmfImage()
WmfImage(Az int, int)
A Aspose.Imaging.FileFormats.Wmf.MWfImage osztály új példányát a személyre szabhatószélesség és magasság paraméterek, amelyek megkönnyítik a fehér WMF képek létrehozásáta meghatározott dimenziókhoz igazítva. használja ezt a konstruktort dinamikusan létrehozniWMF képek pontos dimenziókkal, lehetővé téve a rugalmas képteremtés ésManipuláció az Ön alkalmazásában.
public WmfImage(int width, int height)
Parameters
width
int
A szélesség.
height
int
A magasság.
Properties
BitsPerPixel
Visszaállítsa a pixelenkénti bitek számát a képhez, jelezve a szín szintjétmélység vagy granularitás. Használja ezt a tulajdonságot a kép színe meghatározásáhozreprezentáció és pontosság, amely megkönnyíti a kompatibilitási ellenőrzéseket és a színrel kapcsolatosfeldolgozás az Ön kérelmében.
[JsonIgnore]
public override int BitsPerPixel { get; }
ingatlan értéke
Exceptions
FileFormat
Hozzáférés a képhez kapcsolódó fájlformátum értékehez, információt nyújtvaaz a formátum, amelyben a kép tárolódik. Használja ezt a tulajdonságot annak meghatározásához, hogya kép fájlformátumát, amely megkönnyíti a kompatibilitási ellenőrzéseket ésFormátum-specifikus feldolgozás az Ön alkalmazásában.
public override FileFormat FileFormat { get; }
ingatlan értéke
FrameBounds
Hozzáférés a keretrendszer határaira, jelezve a pozícióját és dimenzióit akép. Használja ezt a tulajdonságot, hogy részletes információt kapjon a keretrőltérbeli elhelyezkedés, lehetővé téve a pontos manipulációt és renderelését az Ön alkalmazásában.
public Rectangle FrameBounds { get; }
ingatlan értéke
Felsőf
Hozzáférés a kép magasságához, amely képviseli a pixelek számát a függőlegesAxis. Használja ezt a tulajdonságot a kép térbeli dimenzióinak és aspektusainak meghatározásáhozaz arány, amely lehetővé teszi a pontos elrendezést és a beállításokat az alkalmazáson belül.
public override float HeightF { get; }
ingatlan értéke
Exceptions
Inch
Hozzáférés vagy módosítás az inch tulajdonság, amely a mérési egység jellemzőenfizikai dimenziók meghatározására használt nyomtatási vagy megjelenítési kontextusokban.a képhez kapcsolódó centiméteres értékek létrehozására vagy visszavonására szolgáló tulajdonság,A fizikai dimenziók pontos képviseletének megkönnyítése az Ön alkalmazásában.
public int Inch { get; set; }
ingatlan értéke
IsCached
Helyreállítsa a boolean értéket, amely azt jelzi, hogy az objektum adatait jelenleg titkosítják-e,a további adatolvasási műveletek szükségességének kiküszöbölése. Használja ezt a tulajdonta teljesítmény optimalizálása annak meghatározásával, hogy az objektum adatai könnyen elérhetőek-eköltséges adatvisszatérítési folyamatok igénye nélkül az Ön kérelmében.
public override bool IsCached { get; }
ingatlan értéke
Exceptions
Szilveszter
Hozzáférés a kép szélességéhez, jelezve a pixelek számát ahorizontális tengely. Használja ezt a tulajdonságot a kép térbeli dimenzióinak meghatározásáraés aspektus arány, lehetővé téve a pontos elrendezés és a rendering beállítások belül aAz alkalmazás.
public override float WidthF { get; }
ingatlan értéke
Exceptions
Methods
AddRecord(WmfObject)
A megadott rekordobjektum beillesztése a képbe, tartalmának gazdagítása akiegészítő adatok vagy metadatok. Használja ezt a módszert a feljegyzések szétválaszthatatlan integrálásáraobjektumok a képbe, lehetővé téve az átfogó adatmegőrzést és a szervezéstAz Ön kérelmében.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
és a rekordot.
Returns
A rekordok száma.
CacheData()
hatékonyan titkosítja az adatokat, kiküszöböli a további terhelés szükségességét aalárendelve Aspose.Imaging.DataStreamSupporter.Tudja meg eztmódszer a teljesítmény optimalizálására és az erőforrások felhasználásának minimálisra csökkentésére az alkalmazáson belüla helyi adatok tárolásával és hozzáférésével.
public override void CacheData()
Examples
Ez a példa azt mutatja, hogyan kell feltölteni egy WMF 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.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(objektum[])
A képhez kapcsolódó alapértelmezett opciók helyreállítása, amely hozzáférést biztosít aelőre meghatározott beállítások vagy konfigurációk. Használja ezt a módszert az alapértelmezett hozzáféréshezA képfeldolgozási műveletek beállítása, a következetesség és a kényelem megkönnyítéseAz Ön alkalmazásának funkcionalitása.
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.
GetPostScript()
Hozzáférés a képhez kapcsolódó PostScript adatokhoz, részletes tájékoztatást nyújtvainformáció a szerkezetéről vagy tartalmáról. használja ezt a módszert, hogyPostScript adatok további elemzéshez vagy feldolgozáshoz az Ön alkalmazásában,a PostScript rendereléssel vagy manipulációval kapcsolatos fejlett funkciók biztosítása.
public string GetPostScript()
Returns
A poszt forgatókönyv
GetUsedFonts()
A metafilon belül használt betűtípusok listáját visszaállítjuk, és betekintést adunk afont erőforrások használt a kép. Használja ezt a módszert elemezni font használataés biztosítja a betűtípusok rendelkezésre állását az Ön alkalmazásán belüli rendereléshez vagy további feldolgozáshoz.
public override string[] GetUsedFonts()
Returns
string []
A font listája
ResizeCanvas(Rectangle)
Visszaállítsa a kép képernyőjét, módosítva a dimenzióit, miközben megtartja az képetHasználja ezt a módszert, hogy módosítsa a méretét a csövek anélkül változtatni atartalom, amely megkönnyíti a layout beállításokat és a kompozíció változásait az ÖnAz alkalmazás.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Az új rektangulát.
Exceptions
SetPalette(Székesfehérvár, Bool)
Alkalmazzon egy meghatározott palettát a képre, lehetővé téve a színek személyre szabásáthasználja ezt a módszert, hogy javítsa a vizuális renderelés és aSpeciális színes hatások az Ön alkalmazásában.
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.