Class WmfImage
Название пространства: Aspose.Imaging.FileFormats.Wmf Ассоциация: Aspose.Imaging.dll (25.4.0)
Манипулировать изображения Microsoft Windows Metafile (WMF) с помощью нашего API, беспрепятственноОбработка как векторных, так и битампных данных, хранящихся в записях переменной длины.Рециркулируйте, поворачивайте и флипте изображения легко при настройке персонализированных палеток изображений.Конвертируйте файлы WMF в компрессированные форматы ВМЗ или сохраните их в форматах изображения растер.Для широкого использования на всех платформах и приложениях.
[JsonObject(MemberSerialization.OptIn)]
public class WmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
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.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
GetDefaultOptions(Объекты[])
Удаление предпочтительных опций, связанных с изображением, обеспечивая доступ кзаранее настроенные настройки или конфигурации. Используйте этот метод для доступа по умолчаниюнастройки для обработки изображений, упрощающие консистенцию и удобствоВ пределах функциональности вашего приложения.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
и аргументов .
Returns
Стандартные варианты
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
Если настроены на “истинные” цвета будут обновлены в соответствии с новым палетом; в противном случае индексы цвета остаются неизменными. Обратите внимание, что неизмененные индекси могут разрушить изображение на загрузке, если некоторые индекс имеют несовместимые палетные входы.