Class WmfImage
Numele spaţiului: Aspose.Imaging.FileFormats.Wmf Asamblare: Aspose.Imaging.dll (25.4.0)
Manipularea imaginilor Microsoft Windows Metafile (WMF) cu API-ul nostruprelucrarea atât a datelor vectorului, cât și a bitmap-ului stocate în înregistrările de lungime variabilă.Reîncărcați, rotiți și flip imagini cu ușurință, în timp ce configurați palete de imagine personalizate.Convertați fișierele WMF în formatele comprimate sau salvați-le în formate de imagine rasterpentru utilizare versatilă pe platforme și aplicații.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Membrii moștenitori
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
Următorul exemplu arată cum să convertiți o imagine wmz la un rezultat 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});
}
Următorul exemplu arată cum să convertiți o imagine wmf la o pagină Wmz
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});
}
Următorul exemplu arată cum să convertiți o imagine comprimată (în EMZ,.wmz, *.svgz) pentru raster fromat
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});
}
}
Acest exemplu arată cum să încărcați o imagine WMF dintr-un fișier și să o convertiți în SVG folosind opțiunile WmfRasterization.
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()
Creați o nouă instanță a clasei Aspose.Imaging.FileFormats.Wmf.MfImage, inițializând-o pentrumanipularea și prelucrarea ulterioară a datelor de imagine Windows Metafile (WMF).constructor furnizează un obiect de bază pentru a lucra cu imagini WMF, permițândIntegrarea fără fir a capacităților de gestionare a imaginii WMF în aplicația dvs.funcţionalităţii .
[JsonConstructor]
public WmfImage()
WmfImage(int, int)
Instalați o nouă instanță a clasei Aspose.Imaging.FileFormats.Wmf.MfImage cu personalizabilParametrii de latitudine și înălțime, facilitând crearea de imagini WMF albadaptate la dimensiuni specifice. Utilizați acest constructor pentru a genera dinamicImagini WMF cu dimensiuni precise, permițând crearea flexibilă a imaginii șimanipulare în cadrul aplicaţiei.
public WmfImage(int width, int height)
Parameters
width
int
în lățime .
height
int
înălţime .
Properties
BitsPerPixel
Reduceți numărul de bite pe pixel pentru imagine, indicând nivelul de culoareprofunzime sau granularitate. Utilizați această proprietate pentru a determina culoarea imaginiireprezentare și precizie, facilitând verificările de compatibilitate și color-relatedprelucrarea în cadrul cererii dvs.
[JsonIgnore]
public override int BitsPerPixel { get; }
Valoarea proprietății
Exceptions
FileFormat
Acces la valoarea formatului de fișier asociată cu imaginea, furnizând informațiidespre format în care este stocată imaginea. Utilizați această proprietate pentru a determinaformatul de fișier al imaginii, facilitând verificările de compatibilitate șiProcesarea format-specifică în cadrul aplicației dvs.
public override FileFormat FileFormat { get; }
Valoarea proprietății
FrameBounds
Accesul la limitele cadrului, indicând poziția și dimensiunile acestuia în interiorulUtilizați această proprietate pentru a obține informații detaliate despre cadrulocație spațială, permițând manipularea și renderarea precisă în cadrul aplicației dvs.
public Rectangle FrameBounds { get; }
Valoarea proprietății
înălţime
Acces la înălțimea imaginii, reprezentând numărul de pixeli pe verticala saUtilizați această proprietate pentru a identifica dimensiunile spațiale și aspectul imaginiiratio, permițând un layout precis și efectuarea de ajustări în cadrul aplicației.
public override float HeightF { get; }
Valoarea proprietății
Exceptions
Inch
Accesul sau modificarea proprietății inch, reprezentând o unitate de măsurare tipicutilizate pentru a specifica dimensiunile fizice în contexte de imprimare sau afișare.proprietate pentru stabilirea sau retragerea valorilor inch asociate cu imaginea;facilitarea reprezentării exacte a dimensiunilor fizice în cadrul aplicației dvs.
public int Inch { get; set; }
Valoarea proprietății
IsCached
Obțineți o valoare booleană care indică dacă datele obiectului sunt în prezent cache,eliminarea necesității pentru operațiuni suplimentare de citire a datelor.optimizarea performanței prin stabilirea dacă datele obiectului sunt disponibile cu ușurințăfără necesitatea unor procese costisitoare de recuperare a datelor în cadrul cererii dumneavoastră.
public override bool IsCached { get; }
Valoarea proprietății
Exceptions
Răspundeți
Acces la lățimea imaginii, indicând numărul de pixeli de-a lungulAxa orizontală. Utilizați această proprietate pentru a determina dimensiunile spațiale ale imaginiiși raportul aspectului, permițând layout-ul precis și ajustarea în interiorul dvs.în aplicare.
public override float WidthF { get; }
Valoarea proprietății
Exceptions
Methods
AddRecord(WmfObject)
Introduceți obiectul de înregistrare specificat în imagine, îmbogățind conținutul acestuia cudate suplimentare sau metadate. Utilizați această metodă pentru a integra în mod necorespunzător înregistrărileObiectele intră în imagine, facilitând stocarea și organizarea completă a datelorîn cadrul cererii dumneavoastră.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
şi recordul .
Returns
Număr de recorduri.
CacheData()
Cachează în mod eficient datele, eliminând nevoia de încărcare suplimentară dinsubțire Aspose.Imaging.DataStreamSupporter.data StreamContainer. Utilizați acest lucruMetoda de optimizare a performanței și de minimizare a utilizării resurselor în cadrul aplicațieiprin stocarea și accesul la cache-ul local al datelor.
public override void CacheData()
Examples
Acest exemplu arată cum să încărcați o imagine WMF dintr-un fișier și să listați toate înregistrările sale.
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(Obiectul[])
Returnați opțiunile de preferință asociate cu imaginea, oferind acces lasetări sau configurații predefinite. Utilizați această metodă pentru a accesa standardsetări pentru operațiunile de prelucrare a imaginii, facilitând coerența și confortulîn funcţionalitatea aplicaţiei dumneavoastră.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
Argumentele sunt.
Returns
Opțiuni deficitare
GetOriginalOptions()
Obțineți opțiunile de imagine originale.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opțiunile de imagine originale.
GetPostScript()
Acces la datele PostScript asociate cu imaginea, furnizând detaliiinformații despre structura sau conținutul acestuia. folosiți această metodă pentru a obțineDatele PostScript pentru analiza sau prelucrarea ulterioară în cadrul aplicației dvs.,să permită funcționalități avansate legate de renderarea sau manipularea PostScript.
public string GetPostScript()
Returns
Scriptul postului
GetUsedFonts()
Returnați lista fonturilor utilizate în metafiză, oferind o perspectivă asupraresurse de font utilizate în imagine. Utilizați această metodă pentru a analiza utilizarea fontuluiși să asigure disponibilitatea fontului pentru prezentarea sau prelucrarea ulterioară în cadrul aplicației dvs.
public override string[] GetUsedFonts()
Returns
string []
Lista fonturilor
ResizeCanvas(Rectangle)
Reîncărcați canalul imaginii, ajustând dimensiunile sale în timp ce mențineți imagineaUtilizați această metodă pentru a modifica dimensiunea canvasului fără a schimbaconținut, facilitarea ajustărilor de layout și modificările de compoziție în interiorul dvs.în aplicare.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Noul rectanglu.
Exceptions
SetPalette(Cuvânt cheie, bool)
Aplicați o paletă specifică imaginii, permițând personalizarea culorilorUtilizați această metodă pentru a îmbunătăți renderarea vizuală șiEfectele de culoare specifice în aplicația dvs.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Paleta care trebuie stabilită.
updateColors
bool
dacă este setat la culori “reale” va fi actualizat în funcție de noua paletă; în caz contrar, indicele de culoare rămân inalterate.