Class WmfImage
Nombre del espacio: Aspose.Imaging.FileFormats.Wmf Asamblea: Aspose.Imaging.dll (25.4.0)
Manipular imágenes de Microsoft Windows Metafile (WMF) con nuestra API, sin dudaTratar tanto los datos vector y bitmap almacenados dentro de los registros de longitud variable.Recuperar, rotar y flip imágenes con facilidad mientras se establecen paletas de imágenes personalizadas.Convertir archivos WMF en formatos WMZ comprimidos o salvarlos en formatos de imagen rasterpara un uso versátil a través de plataformas y aplicaciones.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable ,y, IObjectWithBounds ,y, IObjectWithSizeF
Miembros heredados
MetaImage.GetUsedFonts() ,y, MetaImage.GetMissedFonts() ,y, MetaImage.ResizeCanvas(Rectangle) ,y, MetaImage.GetCanNotSaveMessage(ImageOptionsBase) ,y, MetaImage.SaveData(Stream) ,y, MetaImage.Records ,y, VectorImage.GetEmbeddedImages() ,y, VectorImage.RemoveBackground() ,y, VectorImage.RemoveBackground(RemoveBackgroundSettings) ,y, VectorImage.Resize(int, int, ResizeType) ,y, VectorImage.Resize(int, int, ImageResizeSettings) ,y, VectorImage.RotateFlip(RotateFlipType) ,y, VectorImage.Crop(Rectangle) ,y, VectorImage.Rotate(float) ,y, VectorImage.Modify(RectangleF, float, float, float) ,y, VectorImage.SizeF ,y, VectorImage.WidthF ,y, VectorImage.HeightF ,y, VectorImage.Width ,y, VectorImage.Height ,y, Image.CanLoad(string) ,y, Image.CanLoad(string, LoadOptions) ,y, Image.CanLoad(Stream) ,y, Image.CanLoad(Stream, LoadOptions) ,y, Image.Create(ImageOptionsBase, int, int) ,y, Image.Create(Image[]) ,y, Image.Create(MultipageCreateOptions) ,y, Image.Create(string[], bool) ,y, Image.Create(string[]) ,y, Image.Create(Image[], bool) ,y, Image.GetFileFormat(string) ,y, Image.GetFileFormat(Stream) ,y, Image.GetFittingRectangle(Rectangle, int, int) ,y, Image.GetFittingRectangle(Rectangle, int[], int, int) ,y, Image.Load(string, LoadOptions) ,y, Image.Load(string) ,y, Image.Load(Stream, LoadOptions) ,y, Image.Load(Stream) ,y, Image.GetProportionalWidth(int, int, int) ,y, Image.GetProportionalHeight(int, int, int) ,y, Image.RemoveMetadata() ,y, Image.CanSave(ImageOptionsBase) ,y, Image.Resize(int, int) ,y, Image.Resize(int, int, ResizeType) ,y, Image.Resize(int, int, ImageResizeSettings) ,y, Image.GetDefaultOptions(object[]) ,y, Image.GetOriginalOptions() ,y, Image.ResizeWidthProportionally(int) ,y, Image.ResizeHeightProportionally(int) ,y, Image.ResizeWidthProportionally(int, ResizeType) ,y, Image.ResizeHeightProportionally(int, ResizeType) ,y, Image.ResizeWidthProportionally(int, ImageResizeSettings) ,y, Image.ResizeHeightProportionally(int, ImageResizeSettings) ,y, Image.RotateFlip(RotateFlipType) ,y, Image.Rotate(float) ,y, Image.Crop(Rectangle) ,y, Image.Crop(int, int, int, int) ,y, Image.Save() ,y, Image.Save(string) ,y, Image.Save(string, ImageOptionsBase) ,y, Image.Save(string, ImageOptionsBase, Rectangle) ,y, Image.Save(Stream, ImageOptionsBase) ,y, Image.Save(Stream, ImageOptionsBase, Rectangle) ,y, Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) ,y, Image.SetPalette(IColorPalette, bool) ,y, Image.UpdateContainer(Image) ,y, Image.GetCanNotSaveMessage(ImageOptionsBase) ,y, Image.GetFitRectangle(Rectangle) ,y, Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) ,y, Image.GetFitRectangle(Rectangle, int[]) ,y, Image.OnPaletteChanged(IColorPalette, IColorPalette) ,y, Image.OnPaletteChanging(IColorPalette, IColorPalette) ,y, Image.ReleaseManagedResources() ,y, Image.BitsPerPixel ,y, Image.Bounds ,y, Image.Container ,y, Image.Height ,y, Image.Palette ,y, Image.UsePalette ,y, Image.Size ,y, Image.Width ,y, Image.InterruptMonitor ,y, Image.BufferSizeHint ,y, Image.AutoAdjustPalette ,y, Image.HasBackgroundColor ,y, Image.FileFormat ,y, Image.BackgroundColor ,y, DataStreamSupporter.timeout ,y, DataStreamSupporter.CacheData() ,y, DataStreamSupporter.Save() ,y, DataStreamSupporter.Save(Stream) ,y, DataStreamSupporter.Save(string) ,y, DataStreamSupporter.Save(string, bool) ,y, DataStreamSupporter.SaveData(Stream) ,y, DataStreamSupporter.ReleaseManagedResources() ,y, DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) ,y, DataStreamSupporter.DataStreamContainer ,y, DataStreamSupporter.IsCached ,y, DisposableObject.Dispose() ,y, DisposableObject.ReleaseManagedResources() ,y, DisposableObject.ReleaseUnmanagedResources() ,y, DisposableObject.VerifyNotDisposed() ,y, DisposableObject.Disposed ,y, object.GetType() ,y, object.MemberwiseClone() ,y, object.ToString() ,y, object.Equals(object?) ,y, object.Equals(object?, object?) ,y, object.ReferenceEquals(object?, object?) ,y, object.GetHashCode()
Examples
El siguiente ejemplo muestra cómo convertir una imagen de WMZ en una imagen 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});
}
El siguiente ejemplo muestra cómo convertir una imagen WMF en WMZ 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});
}
El siguiente ejemplo muestra cómo convertir una imagen comprimida (.El EMZ,.wmz, *.svgz) para 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});
}
}
Este ejemplo muestra cómo cargar una imagen WMF de un archivo y convertirla en SVG utilizando 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 nueva instancia de la clase Aspose.Imaging.FileFormats.Wmf.WmfImage, iniciándola paramanipulación y procesamiento de datos de imagen de Windows Metafile (WMF).el constructor proporciona un objeto básico para trabajar con las imágenes de WMF, permitiendoIntegración sin sentido de las capacidades de gestión de imágenes de WMF en su aplicaciónLa funcionalidad.
[JsonConstructor]
public WmfImage()
WmfImage(El int, int)
Instalar una nueva instancia de la clase Aspose.Imaging.FileFormats.Wmf.WmfImage con personalizableParámetros de ancho y altura, facilitando la creación de imágenes WMF blancasadaptado a dimensiones específicas. Utilice este constructor para generar dinámicamenteImágenes WMF con dimensiones precisas, lo que permite la creación de imágenes flexibles ymanipulación dentro de su aplicación.
public WmfImage(int width, int height)
Parameters
width
int
de la amplitud.
height
int
La altura.
Properties
BitsPerPixel
Retirar el número de bits por pixel para la imagen, indicando el nivel de colorprofundidad o granularidad. Utilice esta propiedad para determinar el color de la imagenla representación y la precisión, facilitando los controles de compatibilidad y los colores relacionadosprocesamiento dentro de su solicitud.
[JsonIgnore]
public override int BitsPerPixel { get; }
Valor de la propiedad
Exceptions
FileFormat
Acceso al valor de formato de archivo asociado con la imagen, proporcionando informaciónsobre el formato en el que se almacena la imagen. Utilice esta propiedad para determinarel formato de archivo de la imagen, facilitando las verificaciones de compatibilidad yProcesamiento específico de formato dentro de su aplicación.
public override FileFormat FileFormat { get; }
Valor de la propiedad
FrameBounds
Acceso a los límites del marco, indicando su posición y dimensiones dentro de lauso de esta propiedad para obtener información detallada sobre el marcoubicación espacial, permitiendo manipulación y rendimiento precisos dentro de su aplicación.
public Rectangle FrameBounds { get; }
Valor de la propiedad
El altoF
Acceso a la altura de la imagen, representando el número de píxeles a lo largo de su verticalUtilizar esta propiedad para determinar las dimensiones espaciales y el aspecto de la imagenproporción, permitiendo el diseño exacto y la realización de ajustes dentro de su aplicación.
public override float HeightF { get; }
Valor de la propiedad
Exceptions
Inch
Acceso o modificación de la propiedad de polvo, representando una unidad de medición típicamenteutilizados para especificar las dimensiones físicas en los contextos de impresión o de muestra.propiedad para establecer o recuperar valores de pulgadas asociados con la imagen,Facilitar la representación exacta de las dimensiones físicas dentro de su aplicación.
public int Inch { get; set; }
Valor de la propiedad
IsCached
Recuperar un valor booleano que indique si los datos del objeto están actualmente en cach,eliminando la necesidad de operaciones adicionales de lectura de datos. Utilice esta propiedadoptimizar el rendimiento determinando si los datos del objeto están fácilmente disponiblessin la necesidad de costosos procesos de recuperación de datos dentro de su solicitud.
public override bool IsCached { get; }
Valor de la propiedad
Exceptions
El WidthF
Acceso a la anchura de la imagen, indicando el número de píxeles a lo largo de suAce horizontal. Utilice esta propiedad para determinar las dimensiones espaciales de la imageny proporción de aspecto, permitiendo el diseño exacto y la realización de ajustes dentro de suAplicación.
public override float WidthF { get; }
Valor de la propiedad
Exceptions
Methods
AddRecord(WmfObject)
Incorporar el objeto de registro especificado en la imagen, enriquecendo su contenido condatos adicionales o metadatos. Utilice este método para integrar el registro de forma sin precedentesobjetos en la imagen, facilitando el almacenamiento completo de datos y la organizacióndentro de su solicitud.
public int AddRecord(WmfObject record)
Parameters
record
WmfObject
El récord.
Returns
Número de registros.
CacheData()
cache eficazmente los datos, eliminando la necesidad de carga adicional de lasubyacente Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Utilice estemétodo para optimizar el rendimiento y minimizar el uso de los recursos dentro de su aplicaciónalmacenamiento y acceso al cache de datos locales.
public override void CacheData()
Examples
Este ejemplo muestra cómo cargar una imagen WMF de un archivo y listar todos sus registros.
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(Objeto[])
Retirar las opciones por defecto asociadas con la imagen, proporcionando acceso aconfiguraciones o configuraciones predefinidas. Utilice este método para acceder a la configuraciónconfiguraciones para las operaciones de procesamiento de imágenes, facilitando la coherencia y la comodidaddentro de la funcionalidad de su aplicación.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[][]
Los argumentos.
Returns
Opciones defectuosas
GetOriginalOptions()
Obtenga las opciones de imagen original.
public override ImageOptionsBase GetOriginalOptions()
Returns
Opciones de imagen original.
GetPostScript()
Acceso a los datos PostScript asociados con la imagen, proporcionando detallesinformación sobre su estructura o contenido.Utilizar este método para recuperarDatos de PostScript para análisis o procesamiento adicionales dentro de su aplicación,permitir una funcionalidad avanzada relacionada con la renderización o manipulación de PostScript.
public string GetPostScript()
Returns
El post script
GetUsedFonts()
Retirar la lista de las letras utilizadas dentro del metáfil, proporcionando una visión de larecursos de fuente utilizados en la imagen. Utilice este método para analizar el uso de fuentey garantizar la disponibilidad de las fuentes para renderización o procesamiento adicional dentro de su aplicación.
public override string[] GetUsedFonts()
Returns
string [][]
La lista de fonts
ResizeCanvas(Rectangle)
Recuperar la canva de la imagen, ajustando sus dimensiones mientras se mantiene la imagenUtilice este método para modificar el tamaño de las canvas sin modificar elcontenido, facilitando ajustes de diseño y cambios de composición dentro de suAplicación.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
El nuevo rectángulo.
Exceptions
SetPalette(Página web, bool)
Aplique una paleta especificada a la imagen, permitiendo la personalización de los coloresUtilice este método para mejorar la renderización visual yefectos de color específicos dentro de su aplicación.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
La paleta se establece.
updateColors
bool
si se ha ajustado a los colores ‘verdaderos’ se actualizará de acuerdo con la nueva paleta; de lo contrario, los índices de color permanecen inalterados. Nota que los índices inalterados pueden caer la imagen en la carga si algunos índices tienen entradas de paleta no correspondientes.