Class WmfImage

Class WmfImage

Il nome: Aspose.Imaging.FileFormats.Wmf Assemblea: Aspose.Imaging.dll (25.4.0)

Manipolare le immagini di Microsoft Windows Metafile (WMF) con la nostra APItrattare sia i dati vectori e bitmap memorizzati nei registri di lunghezza variabile.Ristrutturare, girare e flip le immagini con facilità mentre impostare le palette d’immagine personalizzate.Convertire i file WMF in formati compressi o salvarli in format di immagine rasterper un uso versatile su piattaforme e applicazioni.

[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage WmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

I membri ereditari

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

L’esempio seguente mostra come convertire un’immagine wmz in una scatola 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});
                                                                                }

L’esempio seguente mostra come convertire un’immagine wmf in un vmz 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});
                                                                                }

Il seguente esempio mostra come convertire un’immagine compressa (di EMZ,.wmz, *.svgz) per 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});
                                                                                                                    }
                                                                                                                }

Questo esempio mostra come caricare un’immagine WMF da un file e converterla in SVG utilizzando 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()

Crea una nuova instanza della classe Aspose.Imaging.FileFormats.Wmf.MfImage, inizializzandola perulteriore manipolazione e elaborazione dei dati di immagine di Windows Metafile (WMF).il costruttore fornisce un oggetto fondamentale per lavorare con le immagini WMF, consentendointegrazione senza sforzo delle capacità di gestione dell’immagine WMF nella tua applicazionedi funzionalità.

[JsonConstructor]
public WmfImage()

WmfImage(di int, int)

Instantare una nuova instanza della classe Aspose.Imaging.FileFormats.Wmf.Parametri di larghezza e altezza, facilitando la creazione di immagini WMF biancheadattato a dimensioni specifiche. Utilizzare questo costruttore per generare dinamicamenteImmagini WMF con dimensioni precise, consentendo la creazione di immagini flessibili eManipolazione all’interno della tua applicazione.

public WmfImage(int width, int height)

Parameters

width int

La larghezza .

height int

La altezza .

Properties

BitsPerPixel

Retrate il numero di bit per pixel per l’immagine, indicando il livello di coloreprofondità o granularità. Utilizzare questa proprietà per determinare il colore dell’immaginerappresentazione e precisione, facilitando i controlli di compatibilità e correlatielaborazione all’interno della tua domanda.

[JsonIgnore]
public override int BitsPerPixel { get; }

Valore di proprietà

int

Exceptions

NotImplementedException

FileFormat

Accedere al valore del formato del file associato all’immagine, fornire informazionisul formato in cui viene immagazzinato l’immagine. Utilizzare questa proprietà per determinareil formato del file dell’immagine, facilitando i controlli di compatibilità eelaborazione specifica del formato all’interno della tua applicazione.

public override FileFormat FileFormat { get; }

Valore di proprietà

FileFormat

FrameBounds

Accedi ai confini del quadro, indicando la sua posizione e le sue dimensioni all’interno dellaUtilizzare questa proprietà per ottenere informazioni dettagliate sul quadroPosizione spaziale, che consente manipolazione e rendering accurati all’interno della tua applicazione.

public Rectangle FrameBounds { get; }

Valore di proprietà

Rectangle

AltezzaF

Accedere all’altezza dell’immagine, rappresentando il numero di pixel lungo la sua verticaleUtilizzare questa proprietà per individuare le dimensioni spaziali e l’aspetto dell’immagineRatio, che consente layout accurato e rendering adegamenti all’interno della tua applicazione.

public override float HeightF { get; }

Valore di proprietà

float

Exceptions

NotImplementedException

Inch

Accedere o modificare la proprietà dell’inch, rappresentando una unità di misurazione tipicamenteutilizzato per specificare dimensioni fisiche in contesti di stampa o di visualizzazione.la proprietà per stabilire o recuperare i valori inchi associati all’immagine,facilitare la rappresentazione accurata delle dimensioni fisiche all’interno della tua applicazione.

public int Inch { get; set; }

Valore di proprietà

int

IsCached

Retrarre un valore boolean indicando se i dati dell’oggetto sono attualmente cache,eliminare la necessità di ulteriori operazioni di lettura dei dati. Utilizzare questa proprietàottimizzare le prestazioni determinando se i dati dell’oggetto sono facilmente disponibilisenza la necessità di costosi processi di recupero dei dati all’interno della tua domanda.

public override bool IsCached { get; }

Valore di proprietà

bool

Exceptions

NotImplementedException

di WidthF

Accedere alla larghezza dell’immagine, indicando il numero di pixel lungo la suaL’asse orizzontale. Utilizzare questa proprietà per determinare le dimensioni spaziali dell’immaginee rapporto di aspetto, che consente layout accurato e rendering adegamenti all’interno della tuadi applicazione.

public override float WidthF { get; }

Valore di proprietà

float

Exceptions

NotImplementedException

Methods

AddRecord(WmfObject)

Incorporare l’oggetto di registrazione specificato nell’immagine, arricchendo il suo contenuto condati o metadati aggiuntivi. Utilizzare questo metodo per integrare i registri senza sforzooggetti nell’immagine, facilitando lo storage e l’organizzazione complessivi dei datiall’interno della tua richiesta.

public int AddRecord(WmfObject record)

Parameters

record WmfObject

Il record .

Returns

int

Numero di record.

CacheData()

Cache efficacemente i dati, eliminando la necessità di caricamento aggiuntivo dalsottosegretario Aspose.Imaging.DataStreamSupporter.data StreamContainer. Utilizzare questoMetodo per ottimizzare le prestazioni e ridurre al minimo l’uso delle risorse all’interno della tua applicazioneConservare e accedere al cache dei dati locali.

public override void CacheData()

Examples

Questo esempio mostra come caricare un’immagine WMF da un file e elencare tutti i suoi record.

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(oggetto[])

Retrarre le opzioni predefinite associate all’immagine, fornendo accesso aImpostazioni o configurazioni predefinite. Utilizzare questo metodo per accedere a defaultImpostazioni per le operazioni di elaborazione dell’immagine, facilitando la coerenza e la comoditànella funzionalità della tua applicazione.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Gli argomenti .

Returns

ImageOptionsBase

Opzioni di default

GetOriginalOptions()

Ottieni le opzioni di immagine originali.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Le opzioni immagine originali.

GetPostScript()

Accedere ai dati PostScript associati all’immagine, fornendo dettagliinformazioni sulla sua struttura o contenuto. Utilizzare questo metodo per recuperaredati postScript per ulteriori analisi o elaborazione all’interno della tua applicazione,Per consentire funzionalità avanzate relative alla renderizzazione o alla manipolazione PostScript.

public string GetPostScript()

Returns

string

Il post script

GetUsedFonts()

Retrate l’elenco delle fonti utilizzate all’interno del metafilo, fornendo un’occhiata allarisorse di font utilizzate nell’immagine. Utilizzare questo metodo per analizzare l’uso della fonte garantire la disponibilità di font per rendering o ulteriore elaborazione all’interno della tua applicazione.

public override string[] GetUsedFonts()

Returns

string [ ]

L’elenco dei font

ResizeCanvas(Rectangle)

Ristrutturare la canvola dell’immagine, adattando le sue dimensioni, mantenendo la immagineUtilizzare questo metodo per modificare la dimensione delle canve senza cambiare ilcontenuto, facilitando gli adeguamenti del layout e i cambiamenti di composizione all’interno del tuodi applicazione.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

Il nuovo rettangolo.

Exceptions

NotImplementedException

SetPalette(IcolorPalette, Bool)

Applicare una paletta specifica all’immagine, consentendo la personalizzazione del coloreUtilizzare questo metodo per migliorare il rendering visivo eEffetti di colore specifici all’interno della tua applicazione.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

La paletta da impostare.

updateColors bool

se impostati a colori ‘giuri’ verrà aggiornato in base alla nuova paletta; altrimenti gli indizi di colore rimangono invariati. Nota che gli indici non modificati potrebbero crollare l’immagine sul carico se alcuni indichi hanno entrate di paleta non corrispondenti.

Exceptions

NotImplementedException

 Italiano