Class WmfImage
Названий на: Aspose.Imaging.FileFormats.Wmf Асамблея: Aspose.Imaging.dll (25.4.0)
Маніпулювати зображення Microsoft Windows Metafile (WMF) з нашою API, безперервнообробка як векторних, так і bitmap даних, що зберігаються в записах змінної довжини.Відновлення, обертання та фліп зображень з легкістю при налаштуванні персоналізованих палеток.Конвертуйте файли WMF в компресовані формати WmZ або збережіть їх у форматах зображення rasterдля різноманітного використання через платформи та додатки.
[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 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});
}
Наступний приклад показує, як конвертувати зображення 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.datastreamContainer. Використовуйте цеМетод оптимізації продуктивності та мінімалізації використання ресурсів у вашій програмізберігання та доступу до локальної каші даних.
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.
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
Якщо налаштуватися на «правдиві» кольори будуть оновлені за новою палетою; в іншому випадку колірні індекси залишаються незмінними.