Class WmfImage

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

int

Exceptions

NotImplementedException

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

FileFormat

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

Rectangle

î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

float

Exceptions

NotImplementedException

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

int

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

bool

Exceptions

NotImplementedException

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

float

Exceptions

NotImplementedException

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

int

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

NotImplementedException

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

ImageOptionsBase

Opțiuni deficitare

GetOriginalOptions()

Obțineți opțiunile de imagine originale.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

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

string

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

NotImplementedException

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.

Exceptions

NotImplementedException

 Română