Class WmfImage

Class WmfImage

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

Manipular imagens do Microsoft Windows Metafile (WMF) com a nossa API, sem problemasTratar os dados do vector e do bitmap armazenados dentro dos registros de comprimento variável.Recuperar, girar e flip imagens com facilidade ao ajustar paletes de imagem personalizadas.Converter arquivos WMF em formatos WMZ comprimidos ou salvá-los em formatos de imagem rasterpara uso versátil em plataformas e aplicações.

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

Inheritance

object DisposableObject DataStreamSupporter Image VectorImage MetaImage WmfImage

Implements

IDisposable , IObjectWithBounds , IObjectWithSizeF

Membros herdados

MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.GetCanNotSaveMessage(ImageOptionsBase) , MetaImage.SaveData(Stream) , 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.Modify(RectangleF, float, float, 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.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , 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.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , 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 WMZ para WMF fromat

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});
                                                                                }

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

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 WMF de um arquivo e convertê-la para SVG usando Opções WmfRasterization.

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

Crie uma nova instância da classe Aspose.Imaging.FileFormats.Wmf.WmfImage, iniciando-a paramanipulação e processamento de dados de imagem do Windows Metafile (WMF).o fabricante fornece um objeto fundamental para trabalhar com imagens do WMF, permitindoIntegração sem fio das capacidades de gerenciamento de imagem do WMF na sua aplicaçãoda funcionalidade.

[JsonConstructor]
public WmfImage()

WmfImage(Int, Int)

Instale uma nova instância da classe Aspose.Imaging.FileFormats.Wmf.WmfImage com personalizávelParâmetros de largura e altura, facilitando a criação de imagens WMF brancasadaptado a dimensões específicas.Utiliza este construtor para gerar dinâmicamenteImagens WMF com dimensões precisas, permitindo a criação de imagens flexíveis emanipulação dentro da sua aplicação.

public WmfImage(int width, int height)

Parameters

width int

A largura .

height int

A altura .

Properties

BitsPerPixel

Retirar o número de bits por pixel para a imagem, indicando o nível de corprofundidade ou granularidade.Utiliza esta propriedade para determinar a cor da imagemrepresentação e precisão, facilitando verificações de compatibilidade e cores relacionadasprocessamento dentro da sua aplicação.

[JsonIgnore]
public override int BitsPerPixel { get; }

Valor da propriedade

int

Exceptions

NotImplementedException

FileFormat

Acesso ao valor do formato de arquivo associado à imagem, fornecendo informaçõessobre o formato em que a imagem é armazenada.Utiliza esta propriedade para determinaro formato de arquivo da imagem, facilitando verificações de compatibilidade eProcessamento específico de formato dentro da sua aplicação.

public override FileFormat FileFormat { get; }

Valor da propriedade

FileFormat

FrameBounds

Acesso aos limites do quadro, indicando a sua posição e dimensões dentro doUtilize esta propriedade para obter informações detalhadas sobre o quadrolocalização espacial, permitindo manipulação e renderização precisas dentro da sua aplicação.

public Rectangle FrameBounds { get; }

Valor da propriedade

Rectangle

CabeçaF

Acesso à altura da imagem, representando o número de pixels ao longo da sua verticalUse esta propriedade para identificar as dimensões espaciais e o aspecto da imagemproporção, permitindo layout preciso e render ajustes dentro da sua aplicação.

public override float HeightF { get; }

Valor da propriedade

float

Exceptions

NotImplementedException

Inch

Acesso ou modificação da propriedade de polegada, representando uma unidade de medição tipicamenteusada para especificar dimensões físicas em contextos de impressão ou de exibição.Propriedade para estabelecer ou recuperar valores de polegadas associados à imagem,facilitando a representação precisa das dimensões físicas dentro da sua aplicação.

public int Inch { get; set; }

Valor da propriedade

int

IsCached

Retirar um valor booleano indicando se os dados do objeto estão atualmente cache,Eliminar a necessidade de operações adicionais de leitura de dados.Utiliza esta propriedadepara otimizar o desempenho, determinando se os dados do objeto estão facilmente disponíveissem a necessidade de processos de recuperação de dados caros dentro da sua aplicação.

public override bool IsCached { get; }

Valor da propriedade

bool

Exceptions

NotImplementedException

O WidthF

Acesso à largura da imagem, indicando o número de pixels ao longo daAce horizontal.Utiliza esta propriedade para determinar as dimensões espaciais da imageme proporção de aspecto, permitindo layout preciso e render ajustes dentro do seuA aplicação.

public override float WidthF { get; }

Valor da propriedade

float

Exceptions

NotImplementedException

Methods

AddRecord(WmfObject)

Incorporar o objeto de gravação especificado na imagem, enriquecendo seu conteúdo comDados adicionais ou metadados.Utilize este método para integrar o registro de forma imediataObjetos na imagem, facilitando o armazenamento e organização de dadosdentro da sua aplicação.

public int AddRecord(WmfObject record)

Parameters

record WmfObject

e o recorde.

Returns

int

Número de registros.

CacheData()

cache efetivamente os dados, eliminando a necessidade de carregamento adicional dobaseado em Aspose.Imaging.DataStreamSupporter.DataStreamContainer. Utilize esteMétodo para otimizar o desempenho e minimizar o uso dos recursos dentro da sua aplicaçãoarmazenamento e acesso ao cache de dados locais.

public override void CacheData()

Examples

Este exemplo mostra como carregar uma imagem WMF 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.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 as opções padrão associadas à imagem, fornecendo acesso aconfigurações ou configurações predefinidas. Use este método para acessar o padrãoconfigurações para operações de processamento de imagem, facilitando a consistência e a conveniênciadentro da funcionalidade da sua aplicação.

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.

GetPostScript()

Acesso aos dados do PostScript associados à imagem, fornecendo detalhesinformações sobre a sua estrutura ou conteúdo.Utiliza este método para obterDados PostScript para análise ou processamento adicionais dentro da sua aplicação,Permitir funcionalidades avançadas relacionadas à renderização ou manipulação do PostScript.

public string GetPostScript()

Returns

string

Post Escritório

GetUsedFonts()

Retirar a lista de letras usadas dentro do metáfil, fornecendo uma visão dorecursos de fonte utilizados na imagem.Utiliza este método para analisar o uso de fontee garantir a disponibilidade da fonte para renderização ou processamento adicional dentro da sua aplicação.

public override string[] GetUsedFonts()

Returns

string [ ]

Lista de Fontes

ResizeCanvas(Rectangle)

Recuperar as canvas da imagem, ajustando suas dimensões ao mesmo tempo que mantém a imagemUse este método para alterar o tamanho das canvas sem alterar oconteúdo, facilitando ajustes de layout e mudanças de composição dentro do seuA aplicação.

public override void ResizeCanvas(Rectangle newRectangle)

Parameters

newRectangle Rectangle

O novo rectangulo.

Exceptions

NotImplementedException

SetPalette(Coloração, Bool)

Aplique uma paleta especificada à imagem, permitindo a personalização da corUtilize este método para melhorar a renderização visual eefeitos de cor específicos dentro da sua aplicação.

public override void SetPalette(IColorPalette palette, bool updateColors)

Parameters

palette IColorPalette

A paleta para definir.

updateColors bool

se configurado para “verdadeiro” 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 têm entradas de paleta não correspondentes.

Exceptions

NotImplementedException

 Português