Class WmfImage
Nom dels espais: Aspose.Imaging.FileFormats.Wmf Assemblea: Aspose.Imaging.dll (25.4.0)
Manipulació d’imatges de Microsoft Windows Metafile (WMF) amb la nostra APItractar les dades de vector i bitmap emmagatzemades en els registres de longitud variable.Recuperar, girar i flip imatges amb facilitat mentre s’estableixen paletes d’imatge personalitzades.Convertir els arxius WMF en formats compresos o guardar-los en format d’imatge de rasterper a un ús versàtil a totes les plataformes i aplicacions.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Membres heretats
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’exemple següent mostra com convertir una imatge wmz a un format de 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’exemple següent mostra com convertir una imatge wmf a un format 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});
}
L’exemple següent mostra com convertir una imatge compresa (de EMZ,.wmz, *.svgz) per a 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});
}
}
Aquest exemple mostra com carregar una imatge WMF d’un arxiu i convertir-la a SVG utilitzant Opcions 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()
Creació d’una nova instància de la classe Aspose.Imaging.FileFormats.Wmf.manipulació i processament de dades d’imatge de Windows Metafile (WMF).constructor proporciona un objecte fonamental per treballar amb les imatges de WMF, que permetenIntegració sense segles de les capacitats de gestió d’imatges de WMF en la seva aplicacióLa funcionalitat .
[JsonConstructor]
public WmfImage()
WmfImage(Int, Int)
Instal·la una nova instància de la classe Aspose.Imaging.FileFormats.Wmf.Paràmetres d’amplada i altitud, facilitant la creació de imatges WMF blanquesadaptat a dimensions específiques. Utilitza aquest constructor per generar dinàmicamentImatges WMF amb dimensions precises, que permeten la creació d’imatges flexibles imanipulació dins de la seva aplicació.
public WmfImage(int width, int height)
Parameters
width
int
La seva amplada.
height
int
La seva alçada.
Properties
BitsPerPixel
Retirar el nombre de bits per pixel per a la imatge, indicant el nivell de colorprofunditat o granularitat. Utilitza aquesta propietat per determinar el color de la imatgerepresentació i precisió, facilitant els controls de compatibilitat i els colors relacionatsprocessament dins de la seva sol·licitud.
[JsonIgnore]
public override int BitsPerPixel { get; }
Valor de la propietat
Exceptions
FileFormat
Accés al valor del format de fitxer associat a la imatge, proporcionant informaciósobre el format en què s’emmagatzema la imatge. Utilitza aquesta propietat per determinarel format de fitxers de la imatge, facilitant els controls de compatibilitat iTractament específic de format dins de la seva aplicació.
public override FileFormat FileFormat { get; }
Valor de la propietat
FrameBounds
Accés als límits del marc, indicant la seva posició i dimensions dins de laUtilitza aquesta propietat per obtenir informació detallada sobre el marcubicació espacial, que permet la manipulació i el rendiment precisos dins de la seva aplicació.
public Rectangle FrameBounds { get; }
Valor de la propietat
Màxim F
Accés a l’alçada de la imatge, representant el nombre de píxels al llarg de les seves verticalsUtilitza aquesta propietat per determinar les dimensions espacials i l’aspecte de la imatgeproporció, permetent el disseny precís i la realització d’ajustaments dins de la seva aplicació.
public override float HeightF { get; }
Valor de la propietat
Exceptions
Inch
Accés o modificació de la propietat d’inch, representant una unitat de mesurament normalmentutilitzat per especificar les dimensions físiques en els contextos d’impressió o de presentació.propietat per establir o recuperar valors d’inch associats amb la imatge,Facilitar la representació exacta de dimensions físiques dins de la seva aplicació.
public int Inch { get; set; }
Valor de la propietat
IsCached
Retirar un valor booleà que indiqui si les dades de l’objecte estan actualitzades,eliminant la necessitat d’operacions addicionals de lectura de dades. Utilitzar aquesta propietatper optimitzar el rendiment determinant si les dades de l’objecte estan fàcilment disponiblesSense necessitat de costosos processos de recuperació de dades dins de la seva sol·licitud.
public override bool IsCached { get; }
Valor de la propietat
Exceptions
El WidthF
Accedeix a l’amplada de la imatge, indicant el nombre de píxels al llarg del seuAxi horitzontal. Utilitza aquesta propietat per determinar les dimensions espacials de la imatgei la proporció d’aspecte, permetent el disseny precís i rendir ajustaments dins del seuLa seva aplicació.
public override float WidthF { get; }
Valor de la propietat
Exceptions
Methods
AddRecord(WmfObject)
Incorporar l’objecte de registre especificat a la imatge, enriquint el seu contingut ambdades addicionals o metadades. Utilitzeu aquest mètode per integrar sense cap mena d’enregistramentobjectes a la imatge, facilitant l’emmagatzematge integral de dades i organitzaciódins de la seva sol·licitud.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
El record .
Returns
Número de registres.
CacheData()
cache eficaçment les dades, eliminant la necessitat de càrrega addicional des de lasubjecte Aspose.Imaging.DataStreamSupporter.data StreamContainer. Utilitzeu aquestmètode per optimitzar el rendiment i minimitzar l’ús de recursos en la seva aplicaciómitjançant l’emmagatzematge i accés al cache de dades locals.
public override void CacheData()
Examples
Aquest exemple mostra com carregar una imatge WMF d’un arxiu i llista tots els seus registres.
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(Objecte[])
Retirar les opcions de default associades a la imatge, proporcionant accés aConfiguracions o configuracions predefinides. Utilitza aquest mètode per accedir a la configuracióEstabliments per a les operacions de processament d’imatge, facilitant la consistència i la comoditatDins de la funcionalitat de l’aplicació.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[]
Els arguments .
Returns
Opcions de default
GetOriginalOptions()
Obtenir les opcions d’imatge original.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opcions d’imatge original.
GetPostScript()
Accés a les dades PostScript associades a la imatge, proporcionant detallsinformació sobre la seva estructura o contingut. utilitzeu aquest mètode per recuperarDades PostScript per a més anàlisi o processament dins de la seva aplicació,Permetre funcionalitats avançades relacionades amb la renderització o la manipulació de PostScript.
public string GetPostScript()
Returns
El post guió
GetUsedFonts()
Retirar la llista de fonts utilitzats dins del metafísic, proporcionant una visió de lafont recursos utilitzats en la imatge. Utilitzar aquest mètode per analitzar l’ús de fonti assegurar la disponibilitat de fonts per a la realització o processament posterior dins de la seva aplicació.
public override string[] GetUsedFonts()
Returns
string []
Llista de fonts
ResizeCanvas(Rectangle)
Recuperar la canva de l’imatge, ajustant les seves dimensions mentre manté la imatgeUtilitzeu aquest mètode per modificar la mida de les cànvules sense canviar lacontingut, facilitant ajustos de disseny i canvis de composició dins del seuLa seva aplicació.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
El nou rectangle.
Exceptions
SetPalette(Col·lecció, Bool)
Apliqueu una paleta especificada a la imatge, permetent la personalització del colorUtilitza aquest mètode per millorar la renderització visual iefectes de color específics dins de la seva aplicació.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
La paleta s’ha de fixar.
updateColors
bool
si s’estableix a “verd” colors es actualitzarà d’acord amb la nova paleta; en cas contrari, els indicadors de colors romanen inalterats.