الفئة WmfImage
محتويات
[
يخفي
]WmfImage class
تفاعل مع صور Microsoft Windows Metafile (WMF) باستخدام واجهة برمجة التطبيقات الخاصة بنا، مع معالجة سلسة لكل من البيانات المتجهية والبتية المخزنة في سجلات ذات طول متغير. قم بتغيير حجم الصور، تدويرها، وعكسها بسهولة مع ضبط لوحات ألوان مخصصة. حوّل ملفات WMF إلى تنسيقات WMZ مضغوطة أو احفظها بتنسيقات صور نقطية للاستخدام المتعدد عبر المنصات والتطبيقات.
public class WmfImage : MetaImage
المنشئات
| الاسم | الوصف |
|---|---|
| WmfImage() | أنشئ نسخة جديدة من الفئة WmfImage، مهيئًا إياها لمزيد من التلاعب ومعالجة بيانات صورة Windows Metafile (WMF). يوفر هذا المُنشئ كائنًا أساسيًا للعمل مع صور WMF، مما يتيح دمجًا سلسًا لقدرات معالجة صور WMF في وظائف تطبيقك. |
| WmfImage(int, int) | أنشئ نسخة جديدة من الفئة WmfImage مع معلمات عرض وارتفاع قابلة للتخصيص، لتسهيل إنشاء صور WMF فارغة مُصممة بأبعاد محددة. استخدم هذا المُنشئ لتوليد صور WMF ديناميكيًا بأبعاد دقيقة، مما يتيح إنشاء وتعديل صور مرن داخل تطبيقك. |
الخصائص
| الاسم | الوصف |
|---|---|
| AutoAdjustPalette { get; set; } | الحصول على أو تعيين قيمة تشير إلى ما إذا كان يتم تعديل اللوحة تلقائيًا. |
| virtual BackgroundColor { get; set; } | الحصول على أو تعيين قيمة للون الخلفية. |
| override BitsPerPixel { get; } | استرجع عدد البتات لكل بكسل في الصورة، مما يدل على مستوى عمق اللون أو الدقة. استخدم هذه الخاصية لتحديد تمثيل اللون في الصورة ودقتها، مما يسهل فحوص التوافق ومعالجة اللون داخل تطبيقك. |
| Bounds { get; } | الحصول على حدود الصورة. |
| BufferSizeHint { get; set; } | الحصول على أو تعيين تلميح حجم المخزن المؤقت الذي يحدد الحد الأقصى المسموح به لجميع المخازن الداخلية. |
| Container { get; } | الحصول على حاوية Image. |
| DataStreamContainer { get; } | الحصول على تدفق بيانات الكائن. |
| Disposed { get; } | يحصل على قيمة تشير إلى ما إذا كان هذا المثال تم التخلص منه. |
| ExifData { get; set; } | الحصول على أو تعيين بيانات Exif. |
| override FileFormat { get; } | الوصول إلى قيمة تنسيق الملف المرتبط بالصورة، لتوفير معلومات حول الصيغة التي تُخزن بها الصورة. استخدم هذه الخاصية لتحديد تنسيق ملف الصورة، مما يسهل فحوصات التوافق والمعالجة الخاصة بالتنسيق داخل تطبيقك. |
| FrameBounds { get; } | الوصول إلى حدود الإطار، موضحًا موقعه وأبعاده داخل الصورة. استخدم هذه الخاصية لاسترجاع معلومات مفصلة عن الموقع المكاني للإطار، مما يتيح تعديلًا دقيقًا وعرضًا داخل تطبيقك. |
| virtual HasBackgroundColor { get; set; } | الحصول على أو تعيين قيمة تشير إلى ما إذا كانت الصورة لها لون خلفية. |
| override Height { get; } | الحصول على ارتفاع الصورة. |
| override HeightF { get; } | الوصول إلى ارتفاع الصورة، الذي يمثل عدد البكسلات على المحور العمودي. استخدم هذه الخاصية لتحديد أبعاد الصورة المكانية ونسبة العرض إلى الارتفاع، مما يتيح ضبطًا دقيقًا للتخطيط والعرض داخل تطبيقك. |
| Inch { get; set; } | الوصول إلى خاصية البوصة أو تعديلها، التي تمثل وحدة قياس تُستخدم عادة لتحديد الأبعاد الفيزيائية في الطباعة أو العرض. استخدم هذه الخاصية لتعيين أو استرجاع قيم البوصة المرتبطة بالصورة، مما يسهل تمثيلًا دقيقًا للأبعاد الفيزيائية داخل تطبيقك. |
| InterruptMonitor { get; set; } | الحصول على أو تعيين مراقب المقاطعة. |
| override IsCached { get; } | استرجع قيمة منطقية تشير إلى ما إذا كانت بيانات الكائن مخزنة مؤقتًا حاليًا، مما يلغي الحاجة إلى عمليات قراءة بيانات إضافية. استخدم هذه الخاصية لتحسين الأداء من خلال تحديد ما إذا كانت بيانات الكائن متاحة فورًا دون الحاجة إلى عمليات استرجاع بيانات مكلفة داخل تطبيقك. |
| virtual Metadata { get; } | يحصل على بيانات تعريف الصورة. |
| Palette { get; set; } | يحصل أو يعيّن لوحة الألوان. لا تُستخدم لوحة الألوان عندما يتم تمثيل البكسلات مباشرةً. |
| virtual Records { get; set; } | يحصل أو يعيّن السجلات. |
| Size { get; } | يحصل على حجم الصورة. |
| SizeF { get; } | يحصل على حجم الكائن، بالبوصة. |
| virtual UsePalette { get; } | يحصل على قيمة تشير إلى ما إذا كانت لوحة ألوان الصورة مستخدمة. |
| override Width { get; } | يحصل على عرض الصورة. |
| override WidthF { get; } | الوصول إلى عرض الصورة، الذي يدل على عدد البكسلات على المحور الأفقي. استخدم هذه الخاصية لتحديد أبعاد الصورة المكانية ونسبة العرض إلى الارتفاع، مما يتيح ضبطًا دقيقًا للتخطيط والعرض داخل تطبيقك. |
| XmpData { get; set; } | يحصل أو يعيّن بيانات Xmp. |
الطرق
| الاسم | الوصف |
|---|---|
| AddRecord(WmfObject) | دمج كائن السجل المحدد في الصورة، مما يثري محتواها ببيانات إضافية أو بيانات وصفية. استخدم هذه الطريقة لدمج كائنات السجل بسلاسة في الصورة، مما يسهل تخزين البيانات بشكل شامل وتنظيمها داخل تطبيقك. |
| override CacheData() | قم بتخزين البيانات مؤقتًا بفعالية، مما يلغي الحاجة إلى تحميل إضافي من الـDataStreamContainer. استخدم هذه الطريقة لتحسين الأداء وتقليل استهلاك الموارد داخل تطبيقك عن طريق حفظ البيانات محليًا والوصول إلى الذاكرة المؤقتة. |
| CanSave(ImageOptionsBase) | يحدد ما إذا كان يمكن حفظ الصورة بالتنسيق المحدد الممثل بخيارات الحفظ الممررة. |
| override Crop(Rectangle) | يقص المستطيل المحدد. |
| virtual Crop(int, int, int, int) | قص الصورة مع إزاحات. |
| Dispose() | يتخلص من المثيل الحالي. |
| override GetDefaultOptions(object[]) | يحصل على خيارات الصورة الافتراضية. |
| virtual GetEmbeddedImages() | يحصل على الصور المضمنة. |
| GetMissedFonts() | يعيد قائمة الخطوط المستخدمة داخل ملف الميتا ولكن لم يتم العثور عليها. |
| override GetOriginalOptions() | يحصل على خيارات الصورة الأصلية. |
| GetPostScript() | الوصول إلى بيانات PostScript المرتبطة بالصورة، موفرًا معلومات مفصلة عن هيكلها أو محتواها. استخدم هذه الطريقة لاسترجاع بيانات PostScript لمزيد من التحليل أو المعالجة داخل تطبيقك، مما يتيح وظائف متقدمة متعلقة بعرض أو تعديل PostScript. |
| virtual GetSerializedStream(ImageOptionsBase, Rectangle, out int) | يحول إلى aps. |
| override GetUsedFonts() | استرجع قائمة الخطوط المستخدمة داخل ملف الميتا، موفرًا نظرة على موارد الخطوط المستخدمة في الصورة. استخدم هذه الطريقة لتحليل استخدام الخطوط وضمان توفر الخطوط للعرض أو المعالجة الإضافية داخل تطبيقك. |
| virtual RemoveBackground() | يزيل الخلفية. |
| virtual RemoveBackground(RemoveBackgroundSettings) | يزيل الخلفية. |
| virtual RemoveMetadata() | يزيل البيانات الوصفية. |
| Resize(int, int) | يُعيد تحجيم الصورة. يتم استخدام NearestNeighbourResample الافتراضي. |
| override Resize(int, int, ImageResizeSettings) | يعيد تحجيم الصورة باستخدام خيارات موسعة. |
| override Resize(int, int, ResizeType) | يعيد تحجيم العرض الجديد المحدد. |
| override ResizeCanvas(Rectangle) | غيّر حجم لوحة الرسم للصورة، معدلاً أبعادها مع الحفاظ على محتوى الصورة. استخدم هذه الطريقة لتعديل حجم اللوحة دون تغيير المحتوى، مما يسهل تعديل التخطيط وتغييرات التكوين داخل تطبيقك. |
| ResizeHeightProportionally(int) | يُعيد تحجيم الارتفاع بنسبية. يتم استخدام NearestNeighbourResample الافتراضي. |
| virtual ResizeHeightProportionally(int, ImageResizeSettings) | يُعيد تحجيم الارتفاع بنسبية. |
| virtual ResizeHeightProportionally(int, ResizeType) | يُعيد تحجيم الارتفاع بنسبية. |
| ResizeWidthProportionally(int) | يقوم بتغيير عرض الصورة بشكل متناسب. يتم استخدام NearestNeighbourResample الافتراضي. |
| virtual ResizeWidthProportionally(int, ImageResizeSettings) | يقوم بتغيير عرض الصورة بشكل متناسب. |
| virtual ResizeWidthProportionally(int, ResizeType) | يقوم بتغيير عرض الصورة بشكل متناسب. |
| override Rotate(float) | دوّر الصورة حول المركز. |
| override RotateFlip(RotateFlipType) | يدور أو يقلب أو يدور ويقلب الصورة. |
| Save() | يحفظ بيانات الصورة إلى الدفق الأساسي. |
| Save(Stream) | يحفظ بيانات الكائن إلى الدفق المحدد. |
| override Save(string) | يحفظ الصورة إلى موقع الملف المحدد. |
| Save(Stream, ImageOptionsBase) | يحفظ بيانات الصورة إلى الدفق المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ. |
| virtual Save(string, bool) | يحفظ بيانات الكائن إلى موقع الملف المحدد. |
| virtual Save(string, ImageOptionsBase) | يحفظ بيانات الكائن إلى موقع الملف المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ. |
| virtual Save(Stream, ImageOptionsBase, Rectangle) | يحفظ بيانات الصورة إلى الدفق المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ. |
| virtual Save(string, ImageOptionsBase, Rectangle) | يحفظ بيانات الكائن إلى موقع الملف المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ. |
| override SetPalette(IColorPalette, bool) | طبق لوحة ألوان محددة على الصورة، مما يتيح تخصيص تمثيل اللون. استخدم هذه الطريقة لتحسين العرض البصري وتحقيق تأثيرات لونية محددة داخل تطبيقك. |
| virtual TrySetMetadata(IImageMetadataFormat) | يحاول تعيين كائن metadata، إذا كان هذا Image يدعم ويطبق نوع IImageMetadataFormat. |
أمثلة
يوضح المثال التالي كيفية تحويل صور wmz إلى تنسيق wmf.
[C#]
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.
[C#]
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) إلى صيغة نقطية.
[C#]
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.
[C#]
string dir = "c:\\temp\\";
// استخدام Aspose.Imaging.Image.Load هو طريقة موحدة لتحميل جميع أنواع الصور بما في ذلك 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();
// سيتم تحويل النص إلى أشكال.
saveOptions.TextAsShapes = true;
Aspose.Imaging.ImageOptions.WmfRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.WmfRasterizationOptions();
// لون خلفية سطح الرسم.
rasterizationOptions.BackgroundColor = Aspose.Imaging.Color.WhiteSmoke;
// حجم الصفحة.
rasterizationOptions.PageSize = wmfImage.Size;
// إذا كان هناك emf مضمّن، فقم بعرض emf؛ وإلا عرض wmf.
rasterizationOptions.RenderMode = Aspose.Imaging.FileFormats.Wmf.WmfRenderMode.Auto;
saveOptions.VectorRasterizationOptions = rasterizationOptions;
wmfImage.Save(dir + "test.output.svg", saveOptions);
}
انظر أيضًا
- class MetaImage
- namespace Aspose.Imaging.FileFormats.Wmf
- assembly Aspose.Imaging