Class WmfImage
nazivni prostor: Aspose.Imaging.FileFormats.Wmf Sastav: Aspose.Imaging.dll (25.4.0)
Manipulirajte Microsoft Windows Metafile (WMF) slike pomoću našeg API-jaobrađivanje i vektorskih i bitmapskih podataka pohranjenih u zapisima varijabilne duljine.Reciklirajte, okrenite i lako flip slike dok postavljate prilagođene palete slike.Konvertirati WMF datoteke u komprimirane formate ili ih sačuvati u raster formatima slikeza sveobuhvatnu upotrebu na platformama i aplikacijama.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
naslijeđeni članovi
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
Sljedeći primjer pokazuje kako pretvoriti Wmz slike u WMF odat
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});
}
Sljedeći primjer pokazuje kako pretvoriti WMF slike u 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});
}
Sljedeći primjer pokazuje kako pretvoriti komprimirane slike (u EMZ,.wmz, *.svgz) za 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});
}
}
Ovaj primjer pokazuje kako preuzeti WMF sliku iz datoteke i pretvoriti ga u SVG pomoću 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()
Stvorite novu primjenu Aspose.Imaging.FileFormats.Wmf.VmFimage razreda, inicijalizirajući ga zadaljnje manipulacije i obrade podataka o slikama Windows Metafile (WMF).konstruktor pruža temeljni predmet za rad s WMF slike, omogućujeBezuvjetna integracija WMF kapaciteta za rukovanje slikama u aplikacijui funkcionalnosti .
[JsonConstructor]
public WmfImage()
WmfImage(u, u)
Instantirajte novu primjenu Aspose.Imaging.FileFormats.Wmf.MfImage razreda s prilagodljivimparametri širine i visine, olakšavajući stvaranje bijelih WMF slikaprilagođeni određenim dimenzijama. Koristite ovaj konstruktor kako biste dinamično generiraliWMF slike s točnim dimenzijama, omogućavajući fleksibilno stvaranje slika iManipulacija u vašoj aplikaciji.
public WmfImage(int width, int height)
Parameters
width
int
Širina je.
height
int
Veličina je.
Properties
BitsPerPixel
Smanjite broj bitova po pikselu za sliku, što ukazuje na razinu bojedubina ili granularnost. Koristite ovu svojstvo kako biste odredili boju slikeprikaz i preciznost, olakšavajući provjere kompatibilnosti i boje povezaneobrađivanje u okviru vašeg zahtjeva.
[JsonIgnore]
public override int BitsPerPixel { get; }
Vrijednost nekretnina
Exceptions
FileFormat
Pristup vrijednosti formata datoteke povezane s slikom, pružajući informacijeo formatu u kojem je slika pohranjena. upotrijebite ovu imovinu kako biste odrediliformat datoteke slike, olakšavajući provjere kompatibilnosti iSpecifična obrada u vašoj aplikaciji.
public override FileFormat FileFormat { get; }
Vrijednost nekretnina
FrameBounds
Pristup granicama okvira, pokazujući njegovu poziciju i dimenzije unutarKoristite ovu imovinu kako biste dobili detaljne informacije o okvirimaprostorna lokacija, omogućavajući točnu manipulaciju i rendering unutar vaše aplikacije.
public Rectangle FrameBounds { get; }
Vrijednost nekretnina
VeličinaF
Pristup visini slike, predstavljajući broj piksela duž njezine vertikalneKoristite ovu svojstvo kako biste utvrdili prostorske dimenzije i aspekt slikeratio, omogućavajući točan raspored i izvršavanje prilagodbi unutar vaše aplikacije.
public override float HeightF { get; }
Vrijednost nekretnina
Exceptions
Inch
Pristup ili izmjena svojstva inča, što predstavlja jedinicu mjerenja običnokoristi se za određivanje fizičkih dimenzija u kontekstu tiskanja ili prikazivanja.imovina za utvrđivanje ili povlačenje vrijednosti inča povezanih s slikom,olakšavajući točnu reprezentaciju fizičkih dimenzija unutar vaše aplikacije.
public int Inch { get; set; }
Vrijednost nekretnina
IsCached
Obnavljajte boolean vrijednost koja ukazuje na to je li podaci objekta trenutačno sakriveni,uklanjanje potrebe za dodatnim operacijama čitanja podataka.Ukoristite ovu imovinuoptimizirati performanse određivanjem da li su podaci objekta lako dostupnibez potrebe za skupim procesima povlačenja podataka unutar vašeg zahtjeva.
public override bool IsCached { get; }
Vrijednost nekretnina
Exceptions
Svijet F
Pristup širini slike, što ukazuje na broj piksela duž njeKoristite ovu svojstvo za određivanje prostorskih dimenzija slikei aspect ratio, omogućavajući točnu raspored i rendering prilagodbe unutar vašegprimjena .
public override float WidthF { get; }
Vrijednost nekretnina
Exceptions
Methods
AddRecord(WmfObject)
Uključite određeni zapisni objekt u sliku, obogaćivši njegov sadržaj sDodatni podaci ili metapodatci. Koristite ovu metodu kako biste bezuvjetno integrirali evidencijuobjekti u sliku, olakšavajući sveobuhvatno skladištenje i organizaciju podatakaU okviru Vašeg zahtjeva.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
To je rekord.
Returns
Broj zapisa je.
CacheData()
Učinkovito cache podatke, uklanjajući potrebu za dodatnim punjenjem izpodrijetlom Aspose.Imaging.DataStreamSupporter.Prijevodnik.Ukoristite ovoMetoda za optimizaciju performansi i minimiziranje upotrebe resursa u vašoj aplikacijiSkladištenjem i pristupom lokalnim cache podacima.
public override void CacheData()
Examples
Ovaj primjer pokazuje kako preuzeti WMF sliku iz datoteke i popisati sve njegove zapise.
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[])
Uklanjanje privremenih opcija povezanih s slikom, pružajući pristupPredefinirane postavke ili konfiguracije. Koristite ovu metodu za privremeno pristupanjepostavke za operacije obrade slike, olakšavajući usklađenost i udobnostU okviru funkcionalnosti vaše aplikacije.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
i argumentima .
Returns
Podrazumevane opcije
GetOriginalOptions()
Pronađite originalne opcije slike.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opcije za originalnu sliku.
GetPostScript()
Pristup PostScript podacima povezanima s slikom, pružajući detaljne informacijeinformacije o njezinoj strukturi ili sadržaju. upotrijebite ovu metodu kako biste dobiliPostScript podatke za daljnju analizu ili obradu unutar vaše aplikacije,omogućuje naprednu funkcionalnost povezanu s PostScript renderiranjem ili manipulacijom.
public string GetPostScript()
Returns
Post scenarij
GetUsedFonts()
Obnavljajte popis fontova koji se koriste unutar metafila, pružajući uvid ufont resursa korištena u slici. Koristite ovu metodu za analizu upotrebe fontovai osigurati dostupnost fontova za ponuđivanje ili daljnju obradu unutar vaše aplikacije.
public override string[] GetUsedFonts()
Returns
string []
Popis fontova
ResizeCanvas(Rectangle)
Reciklirajte kanve slike, prilagođavajući njezine dimenzije dok zadržavate slikuKoristite ovu metodu kako biste promijenili veličinu kanve bez promjenesadržaj, olakšavajući prilagodbe rasporeda i promjene sastava unutar vašegprimjena .
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Novi rektangul.
Exceptions
SetPalette(Sljedeći Članak IcolorPalette, bool)
Nanesite određenu paletu na sliku, omogućavajući prilagodbu bojeKoristite ovu metodu kako biste poboljšali vizualni rendering iSpecifični učinci boje unutar vaše aplikacije.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Paleta za postavljanje.
updateColors
bool
ako je postavljena na ‘pravedna’ boja će se ažurirati prema novoj paleti; inače indeksi boje ostaju nepromijenjeni.