كيفية تغيير لون الصورة بأستخدام لغة السي شارب
اليوم ان شاء الله سوف نشرح لكم كيف تقوم بعمل تأثيرات الألوان في الصور كما في الشكل السابق
الشرح :
في البداية ستحتاج الى إضافة 2 أدوات pictureBox
pictureBox1 تحتوي على الصورة الاصلية بدون إضافة تأثيرات الألوان
pictureBox2 يتم حفظ الصورة مع التأثير الذي طرأ عليها
قم بتعديل خاصية Size Mode لكلا الاداتين السابقتين الى StretchImage
لكي يتم عرض الصورة بالكامل
قم بإضافة صورة لاداة صندوق الصور 1 اثناء التصميم وايضاً تستطيع إضافة صورة اثناء التنفيذ وذلك عنطريق أداة openFileDialog
ولاكن سوف نقوم باضافتها اثناء التصميم لكي نختصر الشرح والكود
الان قم بإضافة الكود التالي الى دالة الحدث Load التابعة للفورم
Bitmap bmp = new Bitmap(pictureBox1.Image);
int width = bmp.Width;
int height = bmp.Height;
Bitmap GreenBmp = new Bitmap(bmp);
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
//get pixel value جلب قيم البكسل
Color pix = bmp.GetPixel(x, y);
//extract ARGB value from pix من ARGB استخراج قيم
int A = pix.A;
int R = pix.R;
int G = pix.G;
int B = pix.B;
//set Green image pixel
GreenBmp.SetPixel(x, y, Color.FromArgb(A, 0, G, 0));
}
}
pictureBox2.Image = GreenBmp;
int width = bmp.Width;
int height = bmp.Height;
Bitmap GreenBmp = new Bitmap(bmp);
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
//get pixel value جلب قيم البكسل
Color pix = bmp.GetPixel(x, y);
//extract ARGB value from pix من ARGB استخراج قيم
int A = pix.A;
int R = pix.R;
int G = pix.G;
int B = pix.B;
//set Green image pixel
GreenBmp.SetPixel(x, y, Color.FromArgb(A, 0, G, 0));
}
}
pictureBox2.Image = GreenBmp;
تعليقات
إرسال تعليق