Class EmfImage

Class EmfImage

Nome do espaço: Aspose.Imaging.FileFormats.Emf Assembleia: Aspose.Imaging.dll (25.4.0)

A API para o formato de imagem vector Enhanced Metafile Format (EMF) éUma ferramenta abrangente para processar imagens gráficas em um dispositivo independenteforma ao mesmo tempo que preservando suas propriedades originais. desenvolvido para manterproporções, dimensões, cores e outros atributos gráficos, incluindoEMF Plus formato suporte e recursos para regiões de cruzeiro, canvas de reciclageme imagens, rotação, flipping, configuração de paletes de imagem, exportação e importaçãopara o contexto do dispositivo APS, compressão e conversão EMF para outros formatos, garantindomanipulação versátil e integração sem fio de imagens EMF em aplicações.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage EmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Membros herdados

MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , 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.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.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.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

O exemplo a seguir mostra como converter uma imagem emz em 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});
                                                                                }

O exemplo a seguir mostra como converter uma imagem emf para 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});
                                                                                }

O exemplo a seguir mostra como converter uma imagem comprimida (O 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 exemplo mostra como carregar uma imagem EMF de um arquivo e convertê-la para SVG usando Opções de EmfRasterização.

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()

Comece a trabalhar com imagens EMF iniciando uma nova instância deAspose.Imaging.FileFormats.Emf.EmfImage classe. ideal para incorporar rapidamente imagens EMF emseus projetos com facilidade e eficiência.

[JsonConstructor]
public EmfImage()

EmfImage(Int, Int)

Crie uma nova instância da classe Aspose.Imaging.FileFormats.Emf.EmfImage especificando a largurae parâmetros de altura. este construtor simplifica o processo de inicializaçãoImagens EMF com dimensões específicas, melhorando a eficiência do seu desenvolvimentofluxo de trabalho.

public EmfImage(int width, int height)

Parameters

width int

A largura .

height int

A altura .

Properties

BitsPerPixel

Retire a contagem bit-per-pixel específica para imagens raster, como este parâmetronão se aplica às imagens vector. rapidamente determinar a profundidade do pixel do rasterImagens para análise e manipulação precisas, garantindo tratamento precisode dados de imagem.

public override int BitsPerPixel { get; }

Valor da propriedade

int

Exceptions

NotImplementedException

Invalida para imagens vectoras.

FileFormat

Acessar o valor do formato de arquivo associado ao objeto.formato do arquivo associado ao objeto para processamento simplificado eVerificação de compatibilidade. simplifique o seu fluxo de trabalho recuperando o formato de arquivoInformação com facilidade.

public override FileFormat FileFormat { get; }

Valor da propriedade

FileFormat

Header

Recuperar ou modificar o registro de cabeçalhos metafísicos EMF com esta propriedade.gerenciar os dados metafísicos de forma eficiente dentro da sua aplicação. melhorar o seu fluxo de trabalhocom acesso simplificado à informação do cabeçalho metafísico.

public EmfMetafileHeader Header { get; set; }

Valor da propriedade

EmfMetafileHeader

CabeçaF

Retirar a altura da imagem, facilitando ajustes de renderização e layout precisos.O acesso à propriedade de altura assegura a compatibilidade e a integração sem fiodiferentes plataformas e aplicações.

public override float HeightF { get; }

Valor da propriedade

float

IsCached

Acesso a um valor que indica se os dados do objeto estão atualmente cache,eliminando a necessidade de leitura de dados adicionais. melhora a eficiência rapidamentedeterminar se os dados cache estão disponíveis para acesso imediato.fluxo de trabalho com processos de recuperação de dados simplificados.

public override bool IsCached { get; }

Valor da propriedade

bool

Records

Retirar ou modificar os registros associados ao objeto.gerenciar a recolha de registros para melhor manipulação e processamento de dados.Otimize o seu fluxo de trabalho interagindo sem problemas com os registros do objeto.

public override MetaObjectList Records { get; set; }

Valor da propriedade

MetaObjectList

O WidthF

Acesso à largura da imagem, fornecendo informações essenciais para precisãorenderização e processamento. recupera rapidamente a largura da imagem para garantir a compatibilidadee layout adequado dentro de várias aplicações e plataformas.

public override float WidthF { get; }

Valor da propriedade

float

Methods

CacheData()

Cache efetivamente os dados e evite o carregamento redundante do fundoAspose.Imaging.DataStreamSupporter.DataStreamContainer com este método.desempenho e o acesso aos dados na sua aplicação, otimização dos recursosutilização para melhorar a resposta.

public override void CacheData()

Examples

Este exemplo mostra como carregar uma imagem EMF de um arquivo e listar todos os seus 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 as opções padrão para a sua imagem sem esforço. com esta função, vocêpode aceder rapidamente às configurações predefinidas, assegurando a integração sem fio edesempenho óptimo para seus projetos. ideal para simplificar o seu fluxo de trabalho eObter resultados consistentes em todas as suas imagens.

public override ImageOptionsBase GetDefaultOptions(object[] args)

Parameters

args object [ ]

Os argumentos .

Returns

ImageOptionsBase

Opções Default

GetOriginalOptions()

Obtenha as opções de imagem original.

public override ImageOptionsBase GetOriginalOptions()

Returns

ImageOptionsBase

Opções de imagem originais.

GetUsedFonts()

Retirar a lista de letras usadas no metáfilo com este método.Introdução ao uso da fonte, facilitando a gestão eficiente e a otimização da fonterecursos para melhorar a renderização e a fidelidade de exibição.

public override string[] GetUsedFonts()

Returns

string [ ]

Lista de Fontes

ResizeCanvas(Rectangle)

Resista as canvas com facilidade usando esta função.Perfeito para ajustar o conjuntodimensões da imagem sem alterar o seu conteúdo. melhora a apresentação ePreparar imagens para diferentes tamanhos de exibição sem esforço.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

O novo rectangulo.

SetPalette(Coloração, Bool)

Faça a paleta de imagem.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

A paleta para definir.

updateColors bool

se configurado para “verdadeira” cores será atualizado de acordo com a nova paleta; caso contrário, os índices de cores permanecem inalterados. note que os índices inalterados podem quebrar a imagem no carregamento se alguns índices não têm entradas de paleta correspondentes.

Exceptions

NotImplementedException

 Português