تعد إضافة نص إلى الصور طريقة رائعة لإضافة سياق أو علامة تجارية أو حتى القليل من المرح. يمكن استخدامه لإنشاء الميمات ومنشورات وسائل التواصل الاجتماعي والمواد التسويقية والمزيد. في هذه التدوينة، سوف نتعلم كيفية إضافة نص إلى الصور في لغة #C. سنوجهك عبر تعليمات خطوة بخطوة حول كيفية الكتابة على الصور أو الصور الأخرى بتنسيق JPG أو PNG. اذا هيا بنا نبدأ!
تتناول هذه المقالة المواضيع التالية:
- واجهة برمجة تطبيقات #C لإضافة نص إلى الصور
- إضافة نص إلى صور JPG
- إضافة نص إلى صور PNG
- إضافة تسمية توضيحية إلى الصور
- كتابة نص على الصورة عبر الإنترنت
- إضافة نص إلى الصورة – مصادر التعلم
C# API لإضافة نص إلى الصور
سوف نستخدم Aspose.Drawing for .NET لإضافة نص إلى الصور. إنها مكتبة رسومات ثنائية الأبعاد قوية ومتعددة الاستخدامات تتيح للمطورين إنشاء الرسومات ومعالجتها في مجموعة واسعة من التطبيقات. يدعم Aspose.Drawing for .NET نطاقًا واسعًا من عمليات معالجة الصور، مثل الاقتصاص وتغيير الحجم والتدوير والقلب ووضع العلامات المائية. إنه خيار رائع للمطورين الذين يحتاجون إلى مكتبة رسومات عالية الأداء ومشتركة بين الأنظمة الأساسية لتطبيقات .NET الخاصة بهم.
يرجى تنزيل ملف DLL الخاص بواجهة برمجة التطبيقات (API) أو تثبيته باستخدام NuGet.
PM> Install-Package Aspose.Drawing
إضافة نص إلى صورة JPG في #C
يمكننا إضافة نص إلى صور JPG باتباع الخطوات التالية:
- قم بتحميل صورة JPG باستخدام فئة الصورة النقطية.
- قم بإنشاء كائن رسومات جديد من كائن الصورة النقطية باستخدام أسلوب FromImage().
- تهيئة كائن فئة SolidBrush بلون النص المحدد.
- حدد كائن فئة الخط باستخدام عائلة الخط والنمط والحجم المطلوبين للنص.
- بشكل اختياري، قم بتهيئة كائن مستطيل.
- بعد ذلك، قم باستدعاء الأسلوب DrawString() مع النص الذي تريد إظهاره، وكائنات الفئات Font، وBrush، وRectangle كوسيطات.
- وأخيرًا، احفظ الصورة الناتجة باستخدام طريقة Save().
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة نص إلى صورة JPG في #C.
// قم بتحميل الصورة
Bitmap bitmap = new Bitmap("C:\\Files\\Sample_JPG.jpg");
Graphics graphics = Graphics.FromImage(bitmap);
// تحديد لون النص
Brush brush = new SolidBrush(Color.DarkBlue);
// تحديد خط النص
Font arial = new Font("Arial", 25, FontStyle.Regular);
// النص للعرض
string text = "Hello, this is a sample text!";
// تحديد المستطيل
Rectangle rectangle = new Rectangle(100, 100, 450, 100);
// رسم النص على الصورة
graphics.DrawString(text, arial, brush, rectangle);
// احفظ ملف الإخراج
bitmap.Save("C:\\Files\\DrawTextOnJpg.jpg");
إضافة نص إلى صورة PNG في #C
وبالمثل، يمكننا إضافة نص إلى صور PNG باتباع الخطوات المذكورة سابقًا. ومع ذلك، نحن بحاجة إلى تحميل صورة PNG في الخطوة الأولى.
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة نص إلى صورة PNG في #C.
// قم بتحميل الصورة
Bitmap bitmap = new Bitmap("C:\\Files\\Sample_PNG.png");
Graphics graphics = Graphics.FromImage(bitmap);
// تحديد لون النص
Brush brush = new SolidBrush(Color.Red);
// تحديد خط النص
Font arial = new Font("Arial", 30, FontStyle.Regular);
// النص للعرض
string text = "Hello, this is a sample text!";
// تحديد المستطيل
Rectangle rectangle = new Rectangle(400, 1500, 1600, 150);
// تحديد حدود المستطيل
Pen pen = new Pen(Color.White, 2);
// ارسم المستطيل
graphics.DrawRectangle(pen, rectangle);
// رسم النص على الصورة
graphics.DrawString(text, arial, brush, rectangle);
// احفظ ملف الإخراج
bitmap.Save("C:\\Files\\DrawText.png");
إضافة تعليق على الصور - إضافة نص إلى الصورة
يمكننا أيضًا إضافة تعليق على الصور باتباع الخطوات التالية:
- قم بتحميل صورة فوتوغرافية باستخدام فئة الصورة النقطية.
- قم بإنشاء صورة نقطية جديدة بحجم الصورة المحملة مع إضافة حجم مستطيل للتسمية التوضيحية.
- قم بإنشاء كائن رسومات جديد من كائن الصورة النقطية باستخدام أسلوب FromImage().
- ارسم الصورة المحملة على الصورة التي تم إنشاؤها حديثًا باستخدام طريقة DrawImage().
- ارسم مستطيلاً مملوءًا لمربع التسمية التوضيحية.
- حدد تنسيق السلسلة النصية باستخدام فئة StringFormat.
- تحديد النص ولونه والخط
- بعد ذلك، قم باستدعاء الأسلوب DrawString() مع النص الذي تريد إظهاره، وكائنات الفئات Font، وBrush، وRectangle كوسيطات.
- وأخيرًا، احفظ الصورة الناتجة باستخدام طريقة Save().
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة تسمية توضيحية إلى صورة في #C.
// قم بتحميل الصورة
Bitmap bitmap = new Bitmap("C:\\Files\\tower.jpg");
var imageHeight = bitmap.Height;
var imageWidth = bitmap.Width;
var textHeight = 50;
// قم بإنشاء صورة نقطية جديدة بحجم الصورة المحملة + مستطيل للتسمية التوضيحية
Bitmap img = new Bitmap(imageWidth, imageHeight + textHeight, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(img);
// ارسم الصورة المحملة على الصورة التي تم إنشاؤها حديثًا
graphics.DrawImage(bitmap, 0, 0);
// ارسم مستطيلاً لمربع التسمية التوضيحية
Rectangle rectangle = new Rectangle(0, imageHeight, imageWidth, textHeight);
Brush fillColor = new SolidBrush(Color.White);
Pen pen = new Pen(Color.White, 2);
graphics.DrawRectangle(pen, rectangle);
graphics.FillRectangle(fillColor, rectangle);
// تحديد تنسيق السلسلة النصية
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
// لون الخط
Brush textColor = new SolidBrush(Color.Black);
// خط النص
Font arial = new Font("Arial", 18, FontStyle.Regular);
// النص للعرض
string text = "Hello, this is a sample text!";
// ارسم النص
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.DrawString(text, arial, textColor, rectangle, stringFormat);
// احفظ الإخراج
img.Save("C:\\Files\\DrawTextOnPhoto.jpg");
احصل على ترخيص مجاني
يمكنك الحصول على ترخيص مؤقت مجاني لتجربة Aspose.Drawing لـ .NET دون قيود التقييم.
كتابة النص على الصورة على الانترنت
يمكنك أيضًا تجربة تطبيق ويب مجاني إضافة نص إلى الصورة عبر الإنترنت. تجعل واجهته سهلة الاستخدام من السهل والبسيط كتابة النص على الصور دون تثبيت أي برامج إضافية أو إنشاء حساب أو الاشتراك في أي شيء.
إضافة نص إلى الصورة – مصادر تعليمية مجانية
يمكنك معرفة المزيد حول إضافة نص إلى الصور وعرض الرسومات المتجهة على الصور النقطية، بالإضافة إلى الميزات الأخرى المتنوعة للمكتبة، باستخدام الموارد أدناه:
خاتمة
في هذه التدوينة، أظهرنا لك كيفية إضافة نص إلى الصور في لغة #C. لقد قمنا بتغطية الأساسيات بالإضافة إلى بعض التقنيات الأكثر تقدمًا لكتابة النص على الصور والصور برمجيًا. علاوة على ذلك، قدمنا أداة مجانية عبر الإنترنت لإضافة نص إلى الصور أثناء التنقل. في حالة وجود أي غموض، فلا تتردد في الاتصال بنا على منتدى الدعم المجاني.