![]() |
|
Blend Form - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : Blend Form (/showthread.php?tid=22069) |
Blend Form - silverlight - 11-10-17 مقدمــــة : كلمة Blend ترجمتها من الإنجليزية الي العربية تعني مزيج من شيئان أو خليط من شيئان لتخرج في النهاية بشئ فيه انسجام أو تخرج بتوليفة مناسبة من عذا المزيج ولكي تقوم بعمل Blend للفورم يجب أن تدرس و تفهم التالي : شفافية الألوان خلط الألوان فصل الألوان استخلاص لون من لون أخر وعلي ما أعتقد أن مايكروسوفت قد استخدمت هذا الأسلوب في Windows Presentation Foundation (WPF) لكي تحصل علي فورم شكله لطيف و جميل طبعا هناك بعضا من الناس قد يعتقدون أن WPF أفضل من الناحية الجمالية بكثيير عن الويندوز فورم وبالتاكيد هذا الاعتقاد له احترامه ولكني أختلق تماما مع هذا الرأي وهذا الموضوع هو إثبات بسيط لما يمكن أن تفعله في الويندوز فورم Windows Forms وعلي ما أظن و الله أعلم أنك تستطيع أن تفعل في الويندوز فورم الكثيير و الكثيير بشرط أن تكون متفهما لما تفعله أهم شئ في فكرة Blend هو أن تتعلم كيفية استخلاص لون من لون أخر أو حساب شفافية الألوان المعادلات الرياضية التي توضح كيفية حساب Blend موجودة في اللينك التالي Blend Function والمعادلات مصممة للتعامل مع الصور أصلا لكن علينا أن لا ننسي أن الصور مكوناتها عبارة عن ألوان و بالتالي نفس المعادلات يمكن استخدامها مع الألوان أيضا لا يجب أن لا ننسي أن الفورم أصله صورة الكود التالي عبارة عن مثال توضيحي لكيفية استخدام معادلات مايكروسوفت مثال: PHP كود : Private Function CalculateColor(sca As Integer, src As Color, dst As Color) As Colorيمكن استخدام الدالة كالأتي: PHP كود : Dim sca As Integer = 84حاول عزيزي القارئ أن تغير قيمة المتغير sca و المتغير alpha و تلاحظ اللون الذي ستحصل عليه بالطبع المعادلات قد تكون تقليدية و معروفة لمعظم المبرمجين و لو بحثت جيدا علي النت ستجد موضوعات كثيرة تتخدث عن Color Blend لكن ما لم تقوله مايكروسوفت صراحة وتركت للمبرمج أن يكتشفه بنفسه من الموضوع الموجود في اللينك التالي SetLayeredWindowAttributes function هو أنه يمكن حساب قيمة Alpha من أي لون ثم بعد ذلك يتم استخدام هذه القيمة لحساب قيمة Opacity او لحساب قيمة الشفافية الخاصة بالفورم و الدالة التالية توضح كيفية حساب قيمة الشفافية من لون خلفية الفورم مثلا PHP كود : Private Function GetOpacity(sca As Byte, sourceColor As Color) As Doubleالكود التالي يوضح كيفية استخدام الدالة في تخصيص قيمة الشفافية للفروم PHP كود : Me.Opacity = GetOpacity(100, Me.BackColor) يمكن تطبيق الفكرة أعلاه في تغيير شكل الفورم تماما لكن للأسف عليك أن ترسم الفورم كاملا والكود التالي عبارة عن مثال سريع لتغيير شكل الفورم PHP كود : Public Class Form1أتمني أن يكون الموضوع مقيدا للبعض منكم تقبلوا تحياتي |