Class WmfImage
Название пространства: Aspose.Imaging.FileFormats.Wmf Ассоциация: Aspose.Imaging.dll (25.5.0)
Манипулировать изображения Microsoft Windows Metafile (WMF) с помощью нашего API, беспрепятственноОбработка как векторных, так и битампных данных, хранящихся в записях переменной длины.Рециркулируйте, поворачивайте и флипте изображения легко при настройке персонализированных палеток изображений.Конвертируйте файлы WMF в компрессированные форматы ВМЗ или сохраните их в форматах изображения растер.Для широкого использования на всех платформах и приложениях.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeFInheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← WmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Наследованные члены
MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , MetaImage.GetCanNotSaveMessage(ImageOptionsBase) , MetaImage.SaveData(Stream) , MetaImage.Records , VectorImage.GetDefaultOptions(object[]) , 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
Следующий пример показывает, как конвертировать изображения wmz в изящный изв
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});
}Следующий пример показывает, как конвертировать изображения wmf в отметку Wmz
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});
}Следующий пример показывает, как конвертировать компрессированные изображения (и EMZ,.wmz, *.svgz) для растер отрат
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});
}
}Этот пример показывает, как загрузить изображение WMF из файла и конвертировать его в SVG с помощью опций WmfRasterizationOptions.
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()
Создайте новую инстанцию класса Aspose.Imaging.FileFormats.Wmf.дальнейшее манипулирование и обработка данных изображения Windows Metafile (WMF).конструктор обеспечивает фундаментальный объект для работы с изображениями WMF, позволяющийБессмысленная интеграция возможностей обработки изображений WMF в ваше приложениеи функциональности .
[JsonConstructor]
public WmfImage()WmfImage(Инт, Инт)
Настаивайте новую инстанцию класса Aspose.Imaging.FileFormats.Wmf.Параметры ширины и высоты, что облегчает создание белых изображений WMFприспособится к определенным измерениям. Используйте этот конструктор для динамического генерированияWMF изображения с точными измерениями, обеспечивая гибкое создание изображений иманипуляции в рамках вашей заявки.
public WmfImage(int width, int height)Parameters
width int
и широты .
height int
и высоты .
Properties
BitsPerPixel
Установите количество битов на пиксель для изображения, указывая уровень цветаглубина или гранулярность. Используйте это свойство для определения цвета изображенияпредставление и точность, что способствует проверке совместимости и цветовойОбработка в рамках Вашей заявки.
[JsonIgnore]
public override int BitsPerPixel { get; }Стоимость недвижимости
Exceptions
FileFormat
Доступ к стоимости формата файла, связанной с изображением, предоставляя информациюо формате, в котором изображение хранится. Используйте эту собственность для определенияформат файла изображения, что облегчает проверку совместимости иФормат-специфическая обработка в пределах вашего приложения.
public override FileFormat FileFormat { get; }Стоимость недвижимости
FrameBounds
Доступ к границам рамки, указывая ее положение и размеры в пределахИспользуйте эту собственность, чтобы получить подробную информацию о рамкепространственное местоположение, позволяющее точное манипулирование и rendering внутри вашего приложения.
public Rectangle FrameBounds { get; }Стоимость недвижимости
ВысотаF
Доступ к высоте изображения, представляя количество пикселей вдоль вертикальнойИспользуйте это свойство, чтобы определить пространственные измерения и аспект изображения.соотношение, позволяющее точное расположение и выполнение корректиров в пределах вашего приложения.
public override float HeightF { get; }Стоимость недвижимости
Exceptions
Inch
Доступ или изменение свойства инча, представляя единицу измерения, как правило,используется для определения физических измерений в печатных или отображаемых контекстах.имущество для установления или получения ценностей дюймов, связанных с изображением,упрощение точного представления физических измерений в вашем приложении.
public int Inch { get; set; }Стоимость недвижимости
IsCached
Получить булеанную стоимость, указывающую на то, являются ли данные объекта в настоящее время скрытыми,устранение необходимости дополнительных операций по чтению данных.Используйте эту собственностьоптимизировать производительность путем определения того, доступны ли данные объектабез необходимости дорогостоящих процессов получения данных в рамках вашей заявки.
public override bool IsCached { get; }Стоимость недвижимости
Exceptions
ВВДФ
Доступ к ширине изображения, указывая количество пикселей вдоль егогоризонтальная оси. Используйте это свойство для определения пространственных измерений изображенияи аспектный соотношение, позволяющий точное расположение и rendering корректировки в пределах вашегоПрименение .
public override float WidthF { get; }Стоимость недвижимости
Exceptions
Methods
AddRecord(WmfObject)
Инкорпорировать указанный записный объект в изображение, обогащая его содержаниедополнительные данные или метаданные. Используйте этот метод для беспрецедентной интеграции записейОбъекты в изображение, облегчающие всестороннее хранение и организацию данныхВ пределах Вашей заявки.
public int AddRecord(WmfObject record)Parameters
record WmfObject
И этот рекорд.
Returns
Количество записей .
CacheData()
Эффективно скрывать данные, устраняя необходимость дополнительного заряда изподчиненный Aspose.Imaging.DataStreamSupporter.data StreamContainer. Используйте этоМетод оптимизации производительности и минимизации использования ресурсов в рамках вашего приложенияСохранение и доступ к локальным кассам данных.
public override void CacheData()Examples
Этот пример показывает, как загрузить изображение WMF из файла и перечислить все его записи.
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
GetOriginalOptions()
Получите оригинальные варианты изображения.
public override ImageOptionsBase GetOriginalOptions()Returns
Оригинальные варианты изображения.
GetPostScript()
Доступ к данным PostScript, связанным с изображением, предоставляя подробную информациюинформация о ее структуре или содержании. Используйте этот метод для полученияПостскриптовые данные для дальнейшего анализа или обработки в рамках вашего приложения,обеспечение передовой функциональности, связанной с рендерированием или манипуляцией PostScript.
public string GetPostScript()Returns
Пост сценарий
GetUsedFonts()
Обратитесь к списку шрифтов, используемых в метафиле, предоставляя представление оИспользуйте этот метод для анализа использования шрифтаи обеспечить доступность шрифта для передачи или дальнейшей обработки в рамках вашего приложения.
public override string[] GetUsedFonts()Returns
string [ ]
список шрифтов
ResizeCanvas(Rectangle)
Рециркулируйте каналы изображения, корректируя его размеры, сохраняя изображениеИспользуйте этот метод, чтобы изменить размер канала без изменениясодержимое, облегчающее настройки расположения и изменения состава в пределах вашегоПрименение .
public override void ResizeCanvas(Rectangle newRectangle)Parameters
newRectangle Rectangle
Новый прямоугольник.
Exceptions
SetPalette(Иосиф Палет, Боол)
Нанесете на изображение определенную палетку, позволяющую персонализировать цветИспользуйте этот метод для улучшения визуального представления иКонкретные цветные эффекты в вашем приложении.
public override void SetPalette(IColorPalette palette, bool updateColors)Parameters
palette IColorPalette
Палеты для установки.
updateColors bool
Если настроены на “истинные” цвета будут обновлены в соответствии с новым палетом; в противном случае индексы цвета остаются неизменными. Обратите внимание, что неизмененные индекси могут разрушить изображение на загрузке, если некоторые индекс имеют несовместимые палетные входы.