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 в отметка wMF
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 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});
}
Следващия пример показва как да конвертирате компресирани изображения (на 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.MfImage, като я стартирате запо-нататъшно манипулиране и обработка на данните за изображенията на 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
Достъп до границите на рамката, показвайки нейната позиция и измерения в рамките наИзползвайте тази собственост, за да получите подробна информация за рамкатапространствено местоположение, което позволява точна манипулация и представяне в рамките на вашата заявка.
public Rectangle FrameBounds { get; }
стойност на имота
Височината
Достъп до височината на изображението, което представлява броя на пикселите по вертикалната му дължинаИзползвайте това свойство, за да определите пространствените измерения и аспекта на изображениетосъотношението, което позволява точен дизайн и извършване на корекции в рамките на приложението ви.
public override float HeightF { get; }
стойност на имота
Exceptions
Inch
Достъп или промяна на свойството на инча, което представлява единица за измерване, обикновеноизползвани за определяне на физическите измерения в печатни или дисплейни контексти.имущество за установяване или получаване на инчови стойности, свързани с изображението,Улесняване на точното представяне на физическите измерения в рамките на вашата заявка.
public int Inch { get; set; }
стойност на имота
IsCached
Възстановяване на стойност на булея, показваща дали данните на обекта в момента са скрити,елиминиране на необходимостта от допълнителни операции за четене на данни.да се оптимизира ефективността, като се определи дали данните на обекта са лесно достъпнибез необходимостта от скъпи процеси за събиране на данни в рамките на вашата заявка.
public override bool IsCached { get; }
стойност на имота
Exceptions
Виндовс
Достъп до ширината на изображението, показващи броя на пикселите по неговияхоризонтална ос. Използвайте това свойство, за да определите пространствените измерения на изображениетои аспект съотношение, което позволява точен дизайн и извършване на корекции в рамките на вашатаприложението .
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 данни за по-нататъшен анализ или обработка в рамките на вашата заявка,Осигуряване на усъвършенствана функционалност, свързана с PostScript rendering или манипулация.
public string GetPostScript()
Returns
Пост сценарий
GetUsedFonts()
Възстановяване на списъка с шрифтове, използвани в метафила, като се осигури вписване вИзползвайте този метод, за да анализирате използването на шрифтаи осигуряване на наличност на шрифтове за представяне или по-нататъшна обработка в рамките на вашата заявка.
public override string[] GetUsedFonts()
Returns
string []
Списък на шрифтове
ResizeCanvas(Rectangle)
Рециклирайте канала на изображението, коригирайки неговите измерения, като същевременно запазвате снимкатаИзползвайте този метод, за да промените размера на каналите, без да променятесъдържание, улесняване на настройките на оформлението и промените в състава в рамките наприложението .
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Новият правоъгълник.
Exceptions
SetPalette(Изолация, Bool)
Нанесете специална палета на изображението, което позволява персонализиране на цветоветеИзползвайте този метод, за да подобрите визуалното представяне иСпецифични цветови ефекти в рамките на приложението ви.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Палетата трябва да бъде поставена.
updateColors
bool
ако сте зададени на “истински” цветове ще бъдат актуализирани в съответствие с новата палета; в противен случай индексите на цветовете остават непроменени. Имайте предвид, че непроменен индекс може да се счупи изображението на зареждане, ако някои индексы имат несъответстващи палетни вноски.