كيفية قراءة اللون وعمل مربع الوان خاص بك بدلا من مربع الوان الويندوذ !!

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

كيفية قراءة اللون وعمل مربع الوان خاص بك بدلا من مربع الوان الويندوذ !!

مُساهمة من طرف أحمد مناع في السبت سبتمبر 01, 2012 11:48 am

بسم الله الرحمن الرحيم


أخوانى الكرام اهلا وسهلا بكم فى درس جديد عن كيفية عمل مربع اختيار الالوان خاص بك بدلا من مربعات الالوان الخاصة بالويندوذ ....



الخطوة الاولى : قم بفتح مشروع قياسى جديد



الخطوة الثانية :قم بأضافة عدد 2 أداة الصور Picturebox ...وعدد 3 أداة مربع نص textbox ...وعدد 3 اداة عنوان Label وعدد 1 إطار بالاضافة الى زر امر



الخطوة الثالثة : قم بتنسيق الادوات كما فى الشكل التالى :







الخطوة الرابعة : قم بوضع صورة الوان بداخل مربع الصورة الاولى Picture1 كما فى الشكل التالى :







الخطوة الخامسة : كتابة الاكواد ....



فى قسم التصريحات قم بوضع الكود التالى
الرمز:
Private Declare Function GetPixel Lib "gdi32" (ByVal HDC As Long, ByVal X As Long, ByVal Y As Long) As Long



يقوم هذا الكود أو الوظيفة بقراءة اللون من صورة بالبسكل



فى قسم التصريحات ايضا نقوم بتعريف المتغيرات الاتية :

الرمز:
Dim PixCol As Long
Dim R As Integer
Dim G As Integer
Dim B As Integer



المتغير الاول PixCol من نوع Long لتخزين اللون فية ....اما المتغيرات الثلاثة R,G,B من نوع Integer لتحزين قيم الالوان الاحمر والازرق و البنى كأرقام ..



فى حدث مربع الصورة الاولى Picture1_MouseMove نقوم بوضع الكود التالى :


الرمز:
If Button = 1 Then
      PixCol = GetPixel(Picture1.HDC, X, Y)
    R = PixCol Mod 256
    B = Int(PixCol / 65536)
    G = (PixCol - (B * 65536) - R) / 256
   
    If R < 0 Then R = 0
    If G < 0 Then G = 0
    If B < 0 Then B = 0
    Picture2.BackColor = RGB(R, G, B)
   
    txtRed = R
    txtGreen = G
    txtBlue = B
End If



السطر الاول فى الكود ...استخدمنا جملة الشرط فى الكود وذلك لجعل قراءة اللون فى حالة كون زر الماوس الشمال مضغوط ....فلو اننا لم نقم بهذا الشرط معنى ذلك يتم قراءة اللون من الصورة بمجرد تحريك الماوس



السطر الثانى ....جعلنا المتغير PixCol يقوم بتخزين الوان فيه بأستخدام الامر GetPixel مع تحديد الموضع الذى سيتم قراءة اللون منه ...وفى مثالنا هذا هى مربع الصورة الاولى Picture1 ..مع تحديد موضع بكسل الافقى و العمودى x,y



أما الاسطر من الثالث وحتى الثامن...فهى لتحزين القيم اللون الرقمية فى المتغيرات R,G,B ....وكما انه قمنا بعمل ثلاث جمل شرطية و ذلك لجعل تلك المتغرات تساوى صفر فى حالة ان قيمة المتغيرات اقل من الصفر ....



أما السطر التاسع ....جعلنا مربع الصورة الثانى Picture2 يأخذ اللون المختار عن طريق الماوس و بذلك بأستخدام الامر RGB(R, G, B)





أما الاسطر الاخيرة فى الكود ....وهى لجعل مربعات النصوص الثلاثة التى قمنا بوضعها على الفورم تقوم بعرض القيمة الرقيمة للون المختار ....كما فى الشكل التالى :







وفى النهاية ارجوا ان يكون الدرس سهل و مفيد لكم ....تحياتى لكم
المرفقات
ClororPicker.zip لا تتوفر على صلاحيات كافية لتحميل هذه المرفقات.(5 Ko) عدد مرات التنزيل 10

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كيفية قراءة اللون وعمل مربع الوان خاص بك بدلا من مربع الوان الويندوذ !!

مُساهمة من طرف end.sub في الخميس فبراير 06, 2014 12:25 pm

جزاكم الله خيرا

end.sub
.....
.....

تاريخ التسجيل : 15/08/2013
المساهمات : 70
النقاط : 131
التقيم : 9
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى