Class EmfImage
اسم الفضاء : Aspose.Imaging.FileFormats.Emf تجميع: Aspose.Imaging.dll (25.4.0)
API for Enhanced Metafile Format (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});
}
يظهر المثال التالي كيفية تحويل الصور المضغوطة (إمز ،.wmz، *.svgz) إلى raster fromat
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
إذا قمت بتعيين الألوان “الحقيقية” سيتم تحديثها وفقًا للجدول الجديد ؛ وإلا فإن مؤشرات الألوان لا تزال غير متغيرة.