Class EmfImage

Class EmfImage

Nombre del espacio: Aspose.Imaging.FileFormats.Emf Asamblea: Aspose.Imaging.dll (25.4.0)

La API para el formato de imagen vector Enhanced Metafile Format (EMF) esuna herramienta integral para procesar imágenes gráficas en un dispositivo independientede manera que, al tiempo de preservar sus propiedades originales. desarrollado para mantenerproporciones, dimensiones, colores y otros atributos gráficos, incluyeEMF Plus soporte de formato y características para las regiones de cultivo, canvas de resistenciay imágenes, rotación, flipping, configuración de paletas de imagen, exportación e importaciónContexto de dispositivo APS, compresión y conversión de EMF a otros formatos, garantizandoLa manipulación versátil y la integración sin límites de imágenes EMF a través de aplicaciones.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable ,y, IObjectWithBounds ,y, IObjectWithSizeF

Miembros heredados

MetaImage.GetUsedFonts() ,y, MetaImage.GetMissedFonts() ,y, MetaImage.ResizeCanvas(Rectangle) ,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.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.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.CacheData() ,y, DataStreamSupporter.Save() ,y, DataStreamSupporter.Save(Stream) ,y, DataStreamSupporter.Save(string) ,y, DataStreamSupporter.Save(string, bool) ,y, DataStreamSupporter.DataStreamContainer ,y, DataStreamSupporter.IsCached ,y, DisposableObject.Dispose() ,y, DisposableObject.Disposed ,y, object.GetType() ,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 emz en emf fromat

string file = "example.emz";
                                                                                string baseFolder = System.IO.Path.Combine("D:", "Compressed");
                                                                                string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                string outFile = inputFile + ".emf";
                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                {
                                                                                    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions {PageSize = image.Size};
                                                                                    image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions {VectorRasterizationOptions = vectorRasterizationOptions});
                                                                                }

El siguiente ejemplo muestra cómo convertir una imagen emf en emz fromat

string file = "input.emf";
                                                                                string baseFolder = System.IO.Path.Combine("D:", "Compressed");
                                                                                string inputFile = System.IO.Path.Combine(baseFolder, file);
                                                                                string outFile = inputFile + ".emz";
                                                                                using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
                                                                                {
                                                                                    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions() { PageSize = image.Size};
                                                                                    image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions() {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 EMF de un archivo y convertirla en SVG utilizando EmfRasterizationOptions.

string dir = "c:\\temp\\";

                                                                                                                      // Using Aspose.Imaging.Image.Load is a unified way to load all types of images including EMF.
                                                                                                                      using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
                                                                                                                      {
                                                                                                                          Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();

                                                                                                                          // Text will be converted to shapes.
                                                                                                                          saveOptions.TextAsShapes = true;

                                                                                                                          Aspose.Imaging.ImageOptions.EmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions();

                                                                                                                          // The background color of the drawing surface.
                                                                                                                          rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;

                                                                                                                          // The page size.
                                                                                                                          rasterizationOptions.PageSize = emfImage.Size;

                                                                                                                          // If embedded emf exists, then render emf; otherwise render wmf.
                                                                                                                          rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Emf.EmfRenderMode.Auto;

                                                                                                                          // Set the horizontal margin
                                                                                                                          rasterizationOptions.BorderX = 50;

                                                                                                                          // Set the vertical margin
                                                                                                                          rasterizationOptions.BorderY = 50;

                                                                                                                          saveOptions.VectorRasterizationOptions = rasterizationOptions;

                                                                                                                          emfImage.Save(dir + "test.output.svg", saveOptions);
                                                                                                                      }

Constructors

EmfImage()

Comience trabajando con las imágenes de EMF iniciando una nueva instancia de laAspose.Imaging.FileFormats.Emf.EmfImage clase. Ideal para incorporar rápidamente imágenes EMF ensus proyectos con facilidad y eficiencia.

[JsonConstructor]
public EmfImage()

EmfImage(El int, int)

Crea una nueva instancia de la clase Aspose.Imaging.FileFormats.Emf.EmfImage especificando la anchuray parámetros de altura. este constructor simplifica el proceso de iniciaciónImágenes EMF con dimensiones específicas, mejorando la eficiencia de su desarrolloflujo de trabajo.

public EmfImage(int width, int height)

Parameters

width int

de la amplitud.

height int

La altura.

Properties

BitsPerPixel

Retirar el número de bit por pixel específico a las imágenes de raster, como este parámetrono se aplica a las imágenes vector. Determina rápidamente la profundidad del pixel del rasterimágenes para análisis y manipulación precisos, garantizando el manejo exactode los datos de imagen.

public override int BitsPerPixel { get; }

Valor de la propiedad

int

Exceptions

NotImplementedException

Invalida para las imágenes vectoras.

FileFormat

Acceso al valor de formato de archivo asociado con el objeto.el formato del archivo asociado con el objeto para el procesamiento simplificado yVerifica la compatibilidad. Simplifique su flujo de trabajo recuperando el formato de archivoInformación con facilidad.

public override FileFormat FileFormat { get; }

Valor de la propiedad

FileFormat

Header

Recuperar o modificar el registro de los header metafísicos EMF con esta propiedad.Gestión eficiente de los datos metafísicos dentro de su aplicación. Mejorar su flujo de trabajocon acceso acelerado a la información de los header metafísicos.

public EmfMetafileHeader Header { get; set; }

Valor de la propiedad

EmfMetafileHeader

El altoF

Retirar la altura de la imagen, facilitando ajustes de rendimiento y diseño precisos.El acceso a la propiedad de altura garantiza la compatibilidad y la integración sin límites entrediferentes plataformas y aplicaciones.

public override float HeightF { get; }

Valor de la propiedad

float

IsCached

Acceso a un valor que indique si los datos del objeto están en cach,Eliminar la necesidad de la lectura de datos adicionales. Mejorar la eficiencia pordeterminar si los datos cache están disponibles para el acceso inmediato.flujo de trabajo con procesos de recuperación de datos simplificados.

public override bool IsCached { get; }

Valor de la propiedad

bool

Records

Recuperar o modificar los registros asociados con el objeto.Gestionar la recopilación de registros para la mejora de la manipulación y el procesamiento de datos.Optimiza su flujo de trabajo interactuando sin sentido con los registros del objeto.

public override MetaObjectList Records { get; set; }

Valor de la propiedad

MetaObjectList

El WidthF

Acceso a la anchura de la imagen, proporcionando información esencial para la precisiónrendimiento y procesamiento. Recuperar rápidamente la anchura de la imagen para garantizar la compatibilidady el diseño adecuado dentro de diversas aplicaciones y plataformas.

public override float WidthF { get; }

Valor de la propiedad

float

Methods

CacheData()

Efectivamente cache los datos y evita la carga redundante de la baseAspose.Imaging.DataStreamSupporter.DataStreamContainer con este método.rendimiento y fluidez del acceso a los datos en su aplicación, optimización de los recursosUtilización para mejorar la respuesta.

public override void CacheData()

Examples

Este ejemplo muestra cómo cargar una imagen EMF 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.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
                                                                                              {
                                                                                                  // Cache data to load all records.
                                                                                                  emfImage.CacheData();
                                                                                                  System.Console.WriteLine("The total number of records: {0}", emfImage.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.Emf.Emf.Records.EmfRecord obj in emfImage.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: 1188
                                                                                              //Record Type                              Count
                                                                                              //----------------------------------------------
                                                                                              //EmfMetafileHeader:                       1
                                                                                              //EmfSetBkMode:                            1
                                                                                              //EmfSetTextAlign:                         1
                                                                                              //EmfSetRop2:                              1
                                                                                              //EmfSetWorldTransform:                    1
                                                                                              //EmfExtSelectClipRgn:                     1
                                                                                              //EmfCreateBrushIndirect:                  113
                                                                                              //EmfSelectObject:                         240
                                                                                              //EmfCreatePen:                            116
                                                                                              //EmfSetPolyFillMode:                      1
                                                                                              //EmfBeginPath:                            120
                                                                                              //EmfMoveToEx:                             122
                                                                                              //EmfPolyBezierTo16:                       36
                                                                                              //EmfLineTo:                               172
                                                                                              //EmfCloseFigure:                          14
                                                                                              //EmfEndPath:                              120
                                                                                              //EmfStrokeAndFillPath:                    113
                                                                                              //EmfStrokePath:                           7
                                                                                              //EmfSetTextColor:                         2
                                                                                              //EmfExtCreateFontIndirectW:               2
                                                                                              //EmfExtTextOutW:                          2
                                                                                              //EmfStretchBlt:                           1
                                                                                              //EmfEof:                                  1</system.type,></system.type,></system.type,>

GetDefaultOptions(Objeto[])

Retirar las opciones predeterminadas para su imagen sin esfuerzo. con esta función, ustedpuede acceder rápidamente a las configuraciones predefinidas, garantizando la integración sin límites yrendimiento óptimo para sus proyectos. ideal para simplificar su flujo de trabajo yObtener resultados consistentes a través de sus imágenes.

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.

GetUsedFonts()

Retirar la lista de las letras utilizadas dentro del metáfil con este método.información sobre el uso de la letra, facilitando la gestión eficiente y la optimización de la letrarecursos para mejorar el rendimiento y la fidelidad de la muestra.

public override string[] GetUsedFonts()

Returns

string [][]

La lista de fonts

ResizeCanvas(Rectangle)

Recuperar las canvas con facilidad utilizando esta función.Perfecto para ajustar el conjuntodimensiones de la imagen sin alterar su contenido. Mejorar la presentación yPreparar imágenes para diferentes tamaños de pantalla sin esfuerzo.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

El nuevo rectángulo.

SetPalette(Página web, bool)

Coloca la paleta de imagen.

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 permanecerán inalterados.Tenga en cuenta que los índices inalterados pueden romper la imagen en carga si algunos índices no tienen entradas de paleta correspondientes.

Exceptions

NotImplementedException

 Español