Class WmfImage
اسم الفضاء : Aspose.Imaging.FileFormats.Wmf تجميع: Aspose.Imaging.dll (25.4.0)
التعامل مع صور Microsoft Windows Metafile (WMF) باستخدام API الخاص بنامعالجة كل من البيانات الفكتور والخرائط bitmap المخزنة داخل سجلات الطول المتغير.إعادة تدوير وتدوير وتشغيل الصور بسهولة مع إعداد لوحات الصور المخصصة.تحويل ملفات WMF إلى تنسيقات WMZ المضغوطة أو حفظها في تنسيقات الصورللاستخدام المتنوع عبر المنصات والتطبيقات.
[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});
}
يظهر المثال التالي كيفية تحويل الصور المضغوطة (إمز ،.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});
}
}
هذا المثال يظهر كيفية تحميل صورة 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.WmfImage، وإطلاقه علىمزيد من التلاعب ومعالجة بيانات الصورة من Windows Metafile (WMF).يقدم المصمم كائنًا أساسيًا للعمل مع صور WMF ، مما يتيحالتكامل السليم لقدرات التعامل مع الصور WMF في تطبيقكوظيفية .
[JsonConstructor]
public WmfImage()
WmfImage(إنت، إنت)
تثبيت مثال جديد من فئة Aspose.Imaging.FileFormats.Wmf.WmfImage مع قابلة للتخصيصمعلمات العرض والارتفاع، مما يسهل إنشاء صور 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 rendering أو manipulation.
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
إذا قمت بتعيين الألوان “الحقيقية” سيتم تحديثها وفقًا للجدول الجديد؛ وإلا فإن مؤشرات الألوان لا تزال غير متغيرة.