Class WmfImage

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

int

Exceptions

NotImplementedException

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

FileFormat

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

Rectangle

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

float

Exceptions

NotImplementedException

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

int

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

bool

Exceptions

NotImplementedException

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

float

Exceptions

NotImplementedException

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

int

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

NotImplementedException

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

ImageOptionsBase

Opciones defectuosas

GetOriginalOptions()

Obtenga las opciones de imagen original.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

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

string

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

NotImplementedException

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.

Exceptions

NotImplementedException

 Español