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
Exceptions
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
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
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
Exceptions
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
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
Exceptions
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
Exceptions
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
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
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
Opções Default
GetOriginalOptions()
Obtenha as opções de imagem original.
public override ImageOptionsBase GetOriginalOptions()
Returns
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
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
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.