منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] برنامج لالتقاط اي لون كان + المشروع - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188)
+--- الموضوع : [VB.NET] برنامج لالتقاط اي لون كان + المشروع (/showthread.php?tid=25174)



برنامج لالتقاط اي لون كان + المشروع - ayoubelmouttaqi - 31-05-18

السلام عليكم اصدقائي الكرام في هذا الموضوع الجديد اقدم لكم برنامج لالتقاط اي لون كان 
نبذة : البرنامج يساعدك على الكثير من الاشياء اهمها مثلا اذا كنت مصمم ولا تعرف لون خلفية او لون شيء آخر فإن البرنامج يساعدك على التقاط اللون

طريقة التقاط بالبرنامج :


1 - لالتقاطك لاي لون قم بالضغط على 1 ولا تفلت الماوس لكي يلتقط اللون
2 - بعد التقاطك للون اضغط على " اضف اللون"
3 - بعد ضغطك على اضف اللون قم بنسخ الكود

التحميلات :

تحميل المشروع
[attachment=18250]
تحميل البرنامج
[attachment=18251]



RE: برنامج لالتقاط اي لون كان + المشروع - elgokr - 31-05-18

برنامج رائع وسهل التعامل معه
ويمكن الاستفادة منه من قبل المصممين


+1

تحياتى لك
وتمنياتى لك التوفيق



RE: برنامج لالتقاط اي لون كان + المشروع - asemshahen5 - 31-05-18

مشكور اخي العزيز بصراحة برنامج رائع و موفيد


RE: برنامج لالتقاط اي لون كان + المشروع - ابراهيم ايبو - 16-07-18

مشروع ممتاز تشكر عليه ..
هل يمكن نسخة لنفس المسروع ولكن مع الوان بصيغة CMYK  اتمنى ذلك


RE: برنامج لالتقاط اي لون كان + المشروع - elgokr - 16-07-18

(16-07-18, 01:59 AM)ابراهيم ايبو كتب : مشروع ممتاز تشكر عليه ..
هل يمكن نسخة لنفس المسروع ولكن مع الوان بصيغة CMYK  اتمنى ذلك

يمكنك فعل ذلك اخى الحبيب 
حتى لا اتعدى على صاحب الموضوع فى تعديل السورس بدون اذن
فيمكنك التعديل على السورس لتضيف التالى


لنقول يتم اضافة عدد 4 Label  و 4 TextBox او كما تشاء
ليصبح الشكل كما فى الصورة


كل ما عليك وضع الكود التالى فى الفورم
كود :
   Public Structure CMYK
       Private _c As Double
       Private _m As Double
       Private _y As Double
       Private _k As Double

       Public Sub New(c As Double, m As Double, y As Double, k As Double)
           Me._c = c
           Me._m = m
           Me._y = y
           Me._k = k
       End Sub

       Public Property C() As Double
           Get
               Return Me._c
           End Get
           Set(value As Double)
               Me._c = value
           End Set
       End Property

       Public Property M() As Double
           Get
               Return Me._m
           End Get
           Set(value As Double)
               Me._m = value
           End Set
       End Property

       Public Property Y() As Double
           Get
               Return Me._y
           End Get
           Set(value As Double)
               Me._y = value
           End Set
       End Property

       Public Property K() As Double
           Get
               Return Me._k
           End Get
           Set(value As Double)
               Me._k = value
           End Set
       End Property

       Public Overloads Function Equals(cmyk As CMYK) As Boolean
           Return (Me.C = cmyk.C) AndAlso (Me.M = cmyk.M) AndAlso (Me.Y = cmyk.Y) AndAlso (Me.K = cmyk.K)
       End Function
   End Structure

   Public Structure RGB
       Private _r As Byte
       Private _g As Byte
       Private _b As Byte

       Public Sub New(r As Byte, g As Byte, b As Byte)
           Me._r = r
           Me._g = g
           Me._b = b
       End Sub

       Public Property R() As Byte
           Get
               Return Me._r
           End Get
           Set(value As Byte)
               Me._r = value
           End Set
       End Property

       Public Property G() As Byte
           Get
               Return Me._g
           End Get
           Set(value As Byte)
               Me._g = value
           End Set
       End Property

       Public Property B() As Byte
           Get
               Return Me._b
           End Get
           Set(value As Byte)
               Me._b = value
           End Set
       End Property

       Public Overloads Function Equals(rgb As RGB) As Boolean
           Return (Me.R = rgb.R) AndAlso (Me.G = rgb.G) AndAlso (Me.B = rgb.B)
       End Function
   End Structure

   Public Shared Function RGBToCMYK(rgb As RGB) As CMYK
       Dim dr As Double = CDbl(rgb.R) / 255
       Dim dg As Double = CDbl(rgb.G) / 255
       Dim db As Double = CDbl(rgb.B) / 255
       Dim k As Double = 1 - Math.Max(Math.Max(dr, dg), db)
       Dim c As Double = (1 - dr - k) / (1 - k)
       Dim m As Double = (1 - dg - k) / (1 - k)
       Dim y As Double = (1 - db - k) / (1 - k)

       Return New CMYK(c, m, y, k)
   End Function

وبالنهاية اذهب الى منطقة تنفيذ جلب الكود واستخدم الكود التالى
كود :
       Dim data As New RGB(62, 121, 155)
       Dim value = RGBToCMYK(data)

       TextBox1.Text = Math.Round(value.C * 100) & " %"
       TextBox2.Text = Math.Round(value.M * 100) & " %"
       TextBox3.Text = Math.Round(value.Y * 100) & " %"
       TextBox4.Text = Math.Round(value.K * 100) & " %"

وبكده تكون تمكنت من اضافة الـ CMYK


مع التنبيه ان تضع قيم كلاً من RGB بدلاً الارقام 62 و 121 و 155

تحياتى لك
وتمنياتى لك التوفيق



RE: برنامج لالتقاط اي لون كان + المشروع - عابر سبيل 2 - 06-09-18

(16-07-18, 06:46 AM)elgokr كتب :
(16-07-18, 01:59 AM)ابراهيم ايبو كتب : مشروع ممتاز تشكر عليه ..
هل يمكن نسخة لنفس المسروع ولكن مع الوان بصيغة CMYK  اتمنى ذلك

يمكنك فعل ذلك اخى الحبيب 
حتى لا اتعدى على صاحب الموضوع فى تعديل السورس بدون اذن
فيمكنك التعديل على السورس لتضيف التالى


لنقول يتم اضافة عدد 4 Label  و 4 TextBox او كما تشاء
ليصبح الشكل كما فى الصورة



كل ما عليك وضع الكود التالى فى الفورم
كود :
   Public Structure CMYK
       Private _c As Double
       Private _m As Double
       Private _y As Double
       Private _k As Double

       Public Sub New(c As Double, m As Double, y As Double, k As Double)
           Me._c = c
           Me._m = m
           Me._y = y
           Me._k = k
       End Sub

       Public Property C() As Double
           Get
               Return Me._c
           End Get
           Set(value As Double)
               Me._c = value
           End Set
       End Property

       Public Property M() As Double
           Get
               Return Me._m
           End Get
           Set(value As Double)
               Me._m = value
           End Set
       End Property

       Public Property Y() As Double
           Get
               Return Me._y
           End Get
           Set(value As Double)
               Me._y = value
           End Set
       End Property

       Public Property K() As Double
           Get
               Return Me._k
           End Get
           Set(value As Double)
               Me._k = value
           End Set
       End Property

       Public Overloads Function Equals(cmyk As CMYK) As Boolean
           Return (Me.C = cmyk.C) AndAlso (Me.M = cmyk.M) AndAlso (Me.Y = cmyk.Y) AndAlso (Me.K = cmyk.K)
       End Function
   End Structure

   Public Structure RGB
       Private _r As Byte
       Private _g As Byte
       Private _b As Byte

       Public Sub New(r As Byte, g As Byte, b As Byte)
           Me._r = r
           Me._g = g
           Me._b = b
       End Sub

       Public Property R() As Byte
           Get
               Return Me._r
           End Get
           Set(value As Byte)
               Me._r = value
           End Set
       End Property

       Public Property G() As Byte
           Get
               Return Me._g
           End Get
           Set(value As Byte)
               Me._g = value
           End Set
       End Property

       Public Property B() As Byte
           Get
               Return Me._b
           End Get
           Set(value As Byte)
               Me._b = value
           End Set
       End Property

       Public Overloads Function Equals(rgb As RGB) As Boolean
           Return (Me.R = rgb.R) AndAlso (Me.G = rgb.G) AndAlso (Me.B = rgb.B)
       End Function
   End Structure

   Public Shared Function RGBToCMYK(rgb As RGB) As CMYK
       Dim dr As Double = CDbl(rgb.R) / 255
       Dim dg As Double = CDbl(rgb.G) / 255
       Dim db As Double = CDbl(rgb.B) / 255
       Dim k As Double = 1 - Math.Max(Math.Max(dr, dg), db)
       Dim c As Double = (1 - dr - k) / (1 - k)
       Dim m As Double = (1 - dg - k) / (1 - k)
       Dim y As Double = (1 - db - k) / (1 - k)

       Return New CMYK(c, m, y, k)
   End Function

وبالنهاية اذهب الى منطقة تنفيذ جلب الكود واستخدم الكود التالى
كود :
       Dim data As New RGB(62, 121, 155)
       Dim value = RGBToCMYK(data)

       TextBox1.Text = Math.Round(value.C * 100) & " %"
       TextBox2.Text = Math.Round(value.M * 100) & " %"
       TextBox3.Text = Math.Round(value.Y * 100) & " %"
       TextBox4.Text = Math.Round(value.K * 100) & " %"

وبكده تكون تمكنت من اضافة الـ CMYK


مع التنبيه ان تضع قيم كلاً من RGB بدلاً الارقام 62 و 121 و 155

تحياتى لك
وتمنياتى لك التوفيق


حتى لا تذهب حقوق صاحب الكود

فالمصدر هنا