Class EmfImage
Названий на: Aspose.Imaging.FileFormats.Emf Асамблея: Aspose.Imaging.dll (25.4.0)
Підтримка API для розширеного метафілового формату (EMF) векторного зображеннявсеосяжний інструмент для обробки графічних зображень в пристрої-незалежнійяк при збереженні своїх оригінальних властивостей. розроблено для збереженняпропорції, розміри, кольори та інші графічні атрибути, включаючиEMF Plus формат підтримки та функції для регіонів видобутку, рецидивування канаві зображення, ротація, фліпинг, налаштування картинних палетів, експорт і імпортдо контексту пристрою APS, компресії та конвертації EMF в інші формати, забезпечуючирізноманітна маніпуляція та безперервна інтеграція зображень EMF через додатки.
[JsonObject(MemberSerialization.OptIn)]
public sealed class EmfImage : MetaImage, IDisposable, IObjectWithBounds, IObjectWithSizeF
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← VectorImage ← MetaImage ← EmfImage
Implements
IDisposable , IObjectWithBounds , IObjectWithSizeF
Нападні члени
MetaImage.GetUsedFonts() , MetaImage.GetMissedFonts() , MetaImage.ResizeCanvas(Rectangle) , 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.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.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.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Наступний приклад показує, як конвертувати зображення emz в emf fromat
string file = "example.emz";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".emf";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions {PageSize = image.Size};
image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions {VectorRasterizationOptions = vectorRasterizationOptions});
}
Наступний приклад показує, як конвертувати зображення emf в emz fromat
string file = "input.emf";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".emz";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions() { PageSize = image.Size};
image.Save(outFile, new Aspose.Imaging.ImageOptions.EmfOptions() {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});
}
}
Цей приклад показує, як завантажити зображення EMF з файлу і конвертувати його в SVG за допомогою EmfRasterizationOptions.
string dir = "c:\\temp\\";
// Using Aspose.Imaging.Image.Load is a unified way to load all types of images including EMF.
using (Aspose.Imaging.FileFormats.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
{
Aspose.Imaging.ImageOptions.SvgOptions saveOptions = new Aspose.Imaging.ImageOptions.SvgOptions();
// Text will be converted to shapes.
saveOptions.TextAsShapes = true;
Aspose.Imaging.ImageOptions.EmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.EmfRasterizationOptions();
// The background color of the drawing surface.
rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;
// The page size.
rasterizationOptions.PageSize = emfImage.Size;
// If embedded emf exists, then render emf; otherwise render wmf.
rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Emf.EmfRenderMode.Auto;
// Set the horizontal margin
rasterizationOptions.BorderX = 50;
// Set the vertical margin
rasterizationOptions.BorderY = 50;
saveOptions.VectorRasterizationOptions = rasterizationOptions;
emfImage.Save(dir + "test.output.svg", saveOptions);
}
Constructors
EmfImage()
Почніть працювати з зображеннями EMF, ініціюючи нову інстанціюAspose.Imaging.FileFormats.Emf. EmfImage клас. Ідеальний для швидкого включення EMF зображень вВаші проекти з легкістю і ефективністю.
[JsonConstructor]
public EmfImage()
EmfImage(ІТ, ІТ)
Створіть нову інстанцію класу Aspose.Imaging.FileFormats.Emf. EmfImage, визначивши ширинуЦей конструктор упрощає процес ініціалізаціїEMF зображення з конкретними розмірами, що підвищує ефективність вашого розвиткуРобочий потік
public EmfImage(int width, int height)
Parameters
width
int
Про широту .
height
int
У висоті .
Properties
BitsPerPixel
Відновлюйте кількість bit-per-pixel конкретно для зображень растер, оскільки цей параметрне застосовується до вікторних зображень. швидко визначити піксельну глибину растерзображення для точного аналізу та маніпуляції, забезпечуючи точне обробказ даних зображення.
public override int BitsPerPixel { get; }
вартість нерухомості
Exceptions
Використання вікторних зображень.
FileFormat
Доступ до значення формату файлу, пов’язаного з об’єктом.формат файлу, пов’язаний з об’єктом для стримування обробки таПеревірки сумісності. спростити робочий потік, отримуючи формат файлуІнформація з легкістю.
public override FileFormat FileFormat { get; }
вартість нерухомості
Header
Відновлюйте або модифікуйте запис метафільних заголовків EMF з цією власністю.Управління метафільними даними ефективно в межах вашої програми. поліпшити робочий потікЗабезпечити доступ до інформації метафільних заголовків.
public EmfMetafileHeader Header { get; set; }
вартість нерухомості
Високість
Відновлюйте висоту зображення, полегшуючи точні рендери і налаштування розташування.Доступ до висоти забезпечує сумісність і безперервну інтеграцію міжрізноманітні платформи та програми.
public override float HeightF { get; }
вартість нерухомості
IsCached
Доступ до значення, що вказує на те, чи є дані об’єкта в даний час кефіровані,усунення необхідності додаткового читання даних. підвищити ефективність швидкоВизначити, чи є доступні дані в касі для негайного доступу.Робочий потік з ускладненими процесами отримання даних.
public override bool IsCached { get; }
вартість нерухомості
Records
Відновлення або зміна записів, пов’язаних з об’єктом.Управління збиранням записів для поліпшеної маніпуляції та обробки даних.Оптимізуйте робочий потік, безперервно взаємодіючи з записами об’єкта.
public override MetaObjectList Records { get; set; }
вартість нерухомості
УВДФ
Доступ до ширини зображення, надаючи необхідну інформацію для точностіРедагувати і обробляти. швидко отримувати ширину зображення, щоб забезпечити сумісністьі правильне розташування в межах різних додатків і платформ.
public override float WidthF { get; }
вартість нерухомості
Methods
CacheData()
Ефективно зберігати дані та запобігати редунантному завантаженню з підземногоAspose.Imaging.DataStreamSupporter.datastreamContainer з цим методом.ефективності та швидкого доступу до даних у вашій програмі, оптимізації ресурсівВикористання для поліпшення реактивності.
public override void CacheData()
Examples
Цей приклад показує, як завантажити зображення EMF з файлу і перерахувати всі його записи.
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.Emf.EmfImage emfImage = (Aspose.Imaging.FileFormats.Emf.EmfImage)Aspose.Imaging.Image.Load(dir + "test.emf"))
{
// Cache data to load all records.
emfImage.CacheData();
System.Console.WriteLine("The total number of records: {0}", emfImage.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.Emf.Emf.Records.EmfRecord obj in emfImage.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: 1188
//Record Type Count
//----------------------------------------------
//EmfMetafileHeader: 1
//EmfSetBkMode: 1
//EmfSetTextAlign: 1
//EmfSetRop2: 1
//EmfSetWorldTransform: 1
//EmfExtSelectClipRgn: 1
//EmfCreateBrushIndirect: 113
//EmfSelectObject: 240
//EmfCreatePen: 116
//EmfSetPolyFillMode: 1
//EmfBeginPath: 120
//EmfMoveToEx: 122
//EmfPolyBezierTo16: 36
//EmfLineTo: 172
//EmfCloseFigure: 14
//EmfEndPath: 120
//EmfStrokeAndFillPath: 113
//EmfStrokePath: 7
//EmfSetTextColor: 2
//EmfExtCreateFontIndirectW: 2
//EmfExtTextOutW: 2
//EmfStretchBlt: 1
//EmfEof: 1</system.type,></system.type,></system.type,>
GetDefaultOptions(Об’єкт[])
Відновлюйте стандартні варіанти для вашого зображення без зусиль.може швидко отримати доступ до попередньо встановлених конфігурацій, забезпечуючи безперервну інтеграцію таоптимальна продуктивність для ваших проектів. ідеально підходить для полегшення вашого робочого потоку таДосягнення консистентних результатів через ваші зображення.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
І аргументи .
Returns
Дефіцитні варіанти
GetOriginalOptions()
Виберіть оригінальні варіанти зображення.
public override ImageOptionsBase GetOriginalOptions()
Returns
Оригінальні варіанти зображення.
GetUsedFonts()
Відновлюйте список шрифтів, що використовуються в метафілі за допомогою цього методу.- уявлення про використання шрифту, сприяння ефективному управлінню та оптимізаціїРесурси для підвищення рендерації та показу вірності.
public override string[] GetUsedFonts()
Returns
string [ ]
список шрифтів
ResizeCanvas(Rectangle)
Використовуйте цю функцію, щоб з легкістю відрізати контейнери. ідеально підходить для регулювання загальногорозмір зображення без зміни його змісту. Підвищення презентації таПідготувати зображення для різних розмірів дисплею без зусиль.
public override void ResizeCanvas(Rectangle newRectangle)
Parameters
newRectangle
Rectangle
Новий прямокутник
SetPalette(Ікольор Палет, Боол)
Складіть палету зображення.
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
Палетка для встановлення.
updateColors
bool
Якщо налаштуватися на «правдиві» кольори будуть оновлені відповідно до нової палети; в іншому випадку кольорові індекси залишаються незмінними.