قم بترتيب CDR ثنائياً عبر C#
أنشئ تطبيقات .NET الخاصة بك لترتيب ملفات CDR ثنائية باستخدام واجهات برمجة التطبيقات من جانب الخادم.
كيفية تحويل الملفات الثنائية إلى CDR باستخدام C#
كان اختراع الفيلم الملون علامة فارقة في عالم التصوير الفوتوغرافي. ومع ذلك، يرتبط التصوير الفوتوغرافي الكلاسيكي بطبيعته بالصور بالأبيض والأسود. على الرغم من القدرات التقنية الواسعة للكاميرات لالتقاط مجموعة كاملة من الألوان، فإن العديد من الأفراد يختارون الألوان الأحادية اللون، ويحولون صورهم إلى الأسود والأبيض. في مثل هذه الحالات، يتم تشغيل وظيفة الثنائية، حيث تقوم بتحويل كافة وحدات البكسل إلى قيم ثنائية: "0" للأبيض و "1" للأسود. وفي سيناريوهات أخرى، لا يكون هذا التحويل مدفوعًا باختيارات فنية، بل بخيارات عملية، مثل إعداد الرسوم التوضيحية بالأبيض والأسود للطباعة في الكتب أو الصحف. باستخدام مكتبة الرسومات C#، يمكنك تعيين حد سطوع البكسل. سوف تصبح وحدات البكسل ذات قيم السطوع أقل من هذا الحد سوداء، في حين أن تلك التي فوقها ستصبح بيضاء. وبدلاً من ذلك، يمكنك استخدام طريقة الثنائية التكيفية التي تأخذ في الاعتبار قيم البكسل في المنطقة المحيطة. يؤدي هذا الأسلوب إلى انتقالات أكثر سلاسة بين حدود الألوان في الصورة الناتجة بالأبيض والأسود. من أجل ثنائية ملفات CDR، سنستخدم Aspose.Imaging for .NET واجهة برمجة التطبيقات (API) وهي واجهة برمجة تطبيقات لمعالجة الصور وتحويلها غنية بالميزات وقوية وسهلة الاستخدام لمنصة C#. افتح مدير الحزم NuGet ، وابحث عن Aspose.Imaging وتركيب. يمكنك أيضًا استخدام الأمر التالي من Package Manager Console.
أمر وحدة تحكم مدير الحزمة
PM> Install-Package Aspose.Imaging
خطوات لثنائي CDR s عبر C#
أنت بحاجة إلى aspose.imaging.dll لتجربة سير العمل التالي في بيئتك الخاصة.
- تحميل ملفات CDR بطريقة Image.Load
- ثنائيات الصور.
- حفظ الصورة المضغوطة على القرص بتنسيق Aspose.Imaging المدعوم
متطلبات النظام
Aspose.Imaging for .NET مدعوم على جميع أنظمة التشغيل الرئيسية. فقط تأكد من أن لديك المتطلبات الأساسية التالية.
- Microsoft Windows أو نظام تشغيل متوافق مع .NET Framework أو .NET Core أو Windows Application أو ASP.NET Web Application.
- بيئة التطوير مثل Microsoft Visual Studio.
- Aspose.Imaging for .NET المشار إليها في مشروعك.
ثنائية CDR الصور - .NET
using Aspose.Imaging; | |
using Aspose.Imaging.FileFormats.Bmp; | |
using Aspose.Imaging.FileFormats.Dicom; | |
using Aspose.Imaging.FileFormats.Emf; | |
using Aspose.Imaging.FileFormats.Jpeg; | |
using Aspose.Imaging.FileFormats.Jpeg2000; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.FileFormats.Psd; | |
using Aspose.Imaging.FileFormats.Tiff.Enums; | |
using Aspose.Imaging.ImageFilters.FilterOptions; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Masking; | |
using Aspose.Imaging.Masking.Options; | |
using Aspose.Imaging.Masking.Result; | |
using Aspose.Imaging.Sources; | |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
string templatesFolder = @"c:\Users\USER\Downloads"; | |
BinarizeFixed(); | |
void BinarizeOtsu() | |
{ | |
FilterImages(image => | |
{ | |
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/binarizeotsu | |
image.BinarizeOtsu(); | |
}, "binarizeotsu"); | |
} | |
void BinarizeBradley() | |
{ | |
FilterImages(image => | |
{ | |
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/binarizebradley/index | |
image.BinarizeBradley(0.5); | |
}, "binarizebradley"); | |
} | |
void BinarizeFixed() | |
{ | |
FilterImages(image => | |
{ | |
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/binarizefixed | |
image.BinarizeFixed(70); | |
}, "binarizefixed"); | |
} | |
void FilterImages(Action<RasterImage> doFilter, string filterName) | |
{ | |
List<string> rasterFormats = new List<string>() { "jpg", "png", "bmp", "apng", "dicom", | |
"jp2", "j2k", "tga", "webp", "tif", "gif", "ico" }; | |
List<string> vectorFormats = new List<string>() { "svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr" }; | |
List<string> allFormats = new List<string>(rasterFormats); | |
allFormats.AddRange(vectorFormats); | |
allFormats.ForEach( | |
formatExt => | |
{ | |
var inputFile = Path.Combine(templatesFolder, $"template.{formatExt}"); | |
bool isVectorFormat = vectorFormats.IndexOf(formatExt) > -1; | |
//Need to rasterize vector formats before background remove | |
if (isVectorFormat) | |
{ | |
inputFile = RasterizeVectorImage(formatExt, inputFile); | |
} | |
var outputFile = Path.Combine(templatesFolder, $"{filterName}_{formatExt}.png"); | |
Console.WriteLine($"Processing {formatExt}"); | |
using (var image = (RasterImage)Image.Load(inputFile)) | |
{ | |
doFilter(image); | |
//If image is multipage save each page to png to demonstrate results | |
if (image is IMultipageImage multiPage && multiPage.PageCount > 1) | |
{ | |
for (var pageIndex = 0; pageIndex < multiPage.PageCount; pageIndex++) | |
{ | |
string fileName = $"{filterName}_page{pageIndex}_{formatExt}.png"; | |
multiPage.Pages[pageIndex].Save(templatesFolder + fileName, new PngOptions()); | |
File.Delete(templatesFolder + fileName); | |
} | |
} | |
else | |
{ | |
image.Save(outputFile, new PngOptions()); | |
File.Delete(outputFile); | |
} | |
} | |
//Remove rasterized vector image | |
if (isVectorFormat) | |
{ | |
File.Delete(inputFile); | |
} | |
} | |
); | |
} | |
string RasterizeVectorImage(string formatExt, string inputFile) | |
{ | |
string outputFile = Path.Combine(templatesFolder, $"rasterized.{formatExt}.png"); | |
using (var image = Image.Load(inputFile)) | |
{ | |
image.Save(outputFile, new PngOptions()); | |
} | |
return outputFile; | |
} |
حول Aspose.Imaging .NET API
Aspose.Imaging API هو حل لمعالجة الصور لإنشاء أو تعديل أو رسم أو تحويل الصور (الصور) داخل التطبيقات. يوفر: معالجة الصور عبر الأنظمة الأساسية ، بما في ذلك على سبيل المثال لا الحصر ، التحويلات بين تنسيقات الصور المختلفة (بما في ذلك معالجة الصور متعددة الصفحات أو متعددة الإطارات) ، والتعديلات مثل الرسم ، والعمل مع الرسوم الأولية ، والتحويلات (تغيير الحجم ، والقص ، والوجه والتدوير ، وثنائي ، وتدرج رمادي ، وضبط) ، وميزات معالجة الصور المتقدمة (الترشيح ، والتردد ، والإخفاء ، والتكديس) ، واستراتيجيات تحسين الذاكرة. إنها مكتبة قائمة بذاتها ولا تعتمد على أي برنامج لعمليات الصور. يمكن للمرء بسهولة إضافة ميزات تحويل الصور عالية الأداء باستخدام واجهات برمجة التطبيقات الأصلية داخل المشاريع. هذه واجهات برمجة تطبيقات داخلية خاصة بنسبة 100٪ وتتم معالجة الصور على خوادمك.قم بترميز CDR ثنائياً عبر تطبيق عبر الإنترنت
قم بترجمة مستندات CDR بشكل ثنائي من خلال زيارة Live Demos website . يحتوي العرض التوضيحي المباشر على الفوائد التالية
CDR ما هو CDR تنسيق الملف
ملف CDR هو ملف صورة رسم متجه تم إنشاؤه أصلاً باستخدام CorelDRAW لتخزين الصورة الرقمية المشفرة والمضغوطة. يحتوي ملف الرسم هذا على نص وخطوط وأشكال وصور وألوان وتأثيرات للتمثيل المتجه لمحتويات الصورة. يمكن فتح ملفات CDR باستخدام CorelDRAW باعتباره التطبيق الأساسي ويمكن أيضًا تحويلها إلى تنسيقات أخرى مثل PDF و JPG و PNG و BMP و AI. يمكن استخدامه لتمثيل بيانات الرسومات المختلفة مثل الكتيبات والصحف والمغلفات والبطاقات البريدية. إلى جانب CorelDRAW ، يمكن لمنتجات Corel الأخرى مثل Corel Paintshop Pro ومجموعة CorelDRAW Graphics أيضًا فتح تنسيقات ملفات CDR.
اقرأ أكثرتنسيقات ثنائية أخرى مدعومة
باستخدام C# ، يمكن للمرء بسهولة إنشاء ثنائيات تنسيقات مختلفة بما في ذلك.