الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تغيير الالوان في الصورة

مغلق
بدأه madi في 26 يونيو 2001 · 2 رد · 920 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام

يتكون نضام الالوان من تلات الوان رئيسية RGB احمر واخضر و ازرق

وهنالك دالة يمكنك تكوين لون معين بواسطتهابحيت تتدرج الوان فيها من 0 الى 255 منلا

الون الاحمر هو ( RGB(255,0,0

الون الاخضر ( RGB(0,255,0

الون الازرق ( RGB(0,0,255

ويجب ان تكون القيم الموضوعة داخل الدالة من 0 ال 255

حيت 255 القيمة العظمى للون متلا

( RGB(255,255,255 هي الون الابيض

( RGB(0,0,0 هي الون الاسود

----

نفرض ان لديناصورة imge على الفورم .

الكود التالي يعطيل لون بيكسل داخل هده الصورة

GetPixel(Img1.Canvas.Handle ,x1,y1)

حيت x1,y1 اي نقطتين داخل الصورة , متلا لو اردنا لون

النقطة 90,70 هل هي اسود او لا

p:=GetPixel(Img.Canvas.Handle ,90,70);

if(p =clBlack) then

حيت p متغير من نوع Integer

ولو اردنا ان نغير لون هذه البيكسل نضع

SetPixel(Img.Canvas.Handle ,x1,y1, RGB(0,0,255));

حيت x1,y1 هما موقع البيكسل داخل الصورة

RGB هى الدالة المشروحة سابقا .

وان شا الله الشرح واضح ز

مشكورين

#2

ولكن ماذا لو كان اللون ليس من الالوان الاساسية

أى لون صريح أى مركب من قيم مختلفة من rgb مثلا (120,205,45)

فكبف يمكننى معرفة هذه القيم عن طريق الدالةGetPixel

#3

في هذه الحالة

استخدم الدالة RGB في المقارنة

p:=GetPixel(Img.Canvas.Handle ,x1,y1);

if(p = RGB(122,255,22) ) then

SetPixel(Img.Canvas.Handle ,x1,y1, RGB(100,255,122));

وشكرا

هذا الموضوع مغلق.

مواضيع مشابهة