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
Exceptions
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
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
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
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
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
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
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
Opciones defectuosas
GetOriginalOptions()
Obtenga las opciones de imagen original.
public override ImageOptionsBase GetOriginalOptions()
Returns
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.