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à
Exceptions
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à
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à
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à
Exceptions
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à
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à
Exceptions
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à
Exceptions
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
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
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
Opzioni di default
GetOriginalOptions()
Ottieni le opzioni di immagine originali.
public override ImageOptionsBase GetOriginalOptions()
Returns
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
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
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.