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

طلب مساعده في اكمال برنامج الالوان

بدأه amir_adam87 في 8 يناير 2014 · 23 رد · 955 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الاخوا الافاضل اعضاء ومشرفين المنتدا الجميل

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

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

هنا اريد منك طلبا بارك الله فيكم

اضافة مربع نص بجورا مربع رقم اودرجة اللون _(ياتي لي بعدد الالون المتواجده بالصوره

وهذا مرفق للبرنامج

 

 

post-267109-0-16045700-1389173176_thumb.

 

 

 

amir.rar

#2

الله المستعان

#3

الاخت زهره والاخوات مشرفين المنتدي

#4

وعليكم السلام اخي الفاضل

 

اكسس لا يمكنه ان "ياتي لي بعدد الالون المتواجده بالصوره" :(

اكسس برنامج قاعدة بيانات :)

 

ولكن ، لأن اكسس يملك قوة في VBA ، لذا فانه بامكاننا استخدام برامج اخرى تملك خاصية commandline بها ،

فمثلاً ، http://www.irfanview.com/ ، يملك هذه الخاصية (خاصية command line) ،

ولمعرفة عدد الوان الصورة 1.jpg المرفقة مع مثالك ، فالامر يكون هكذا من داخل برنامج الاكسس:

Dim a As String
a = "C:\Program Files\IrfanView\i_view32.exe" & " "
a = a & "c:\1.jpg /info=c:\test.txt"
ShellWait (a)

بحيث ان هذا الامر ينشئ ملف باسم test.txt ، ومحتوى هذا الملف:

[1.jpg]
File name = 1.jpg
Directory = 
Compression = JPEG, quality: 72, subsampling ON (2x2)
Resolution = 0 x 0 DPI
Image dimensions = 225 x 225  Pixels (1.00)
Print size = 7.9 x 7.9 cm; 3.1 x 3.1 inches
Color depth = 16,7 Million   (24 BitsPerPixel)
Number of unique colors = 18932
Disk size = 6.33 KB (6,481 Bytes)
Current memory size = 148.57  KB (152,140 Bytes)
File date/time = 07-Jan-14 / 20:09:28

والسطر المهم بالنسبة لك هو:

Number of unique colors = 18932

 

 

وبما ان الملف هو بصيغة txt ، فبامكانك ان تفتحه عن طريق اكسس وقراءة هذا السطر ، ومن ثم وضع عدد الالوان المتواجدة في الصورة 18932 ، في مربع نص :)

 

وهذا رابط الدلة  ShellWait:

http://access.mvps.org/access/api/api0004.htm

 

جعفر

1
#5

اخير الكريم بارك الله فيك على المداخله 

اين لي ان اضع هذه الاكواد وفي اي مكان وحدات نمطيه ام في الفورم نفسه بارك الله فيك

#6

ما شاء الله عليك ، مثل ما يقولون : ردك كان فرّيره :)

 

ضع ShellWait في module ،

بينما كود الاربعة اسطر والذي يبدأ بـ Dim a As String ، ضعه في النموذج :)

 

جعفر

1
#7

عفوا اخي هل لي بان توضح لي على المثال المرفق بارك الله فيك حيث انني جربته ولم يفلح معي بارك الله فيك

#8

هل نصبت البرنامج irfan view من الرابط الذي اعطيتك؟

#9

اخي الكريم جعفر بارك الله بك جاري تحميل الملف irfan view

#10

بعد التنصيب ، يمكنك ان تعمل نسخة من i_view32.exe وتضعه في اي مجلد ، ومن ثم استخدامه في اي كمبيوتر بدون تنصيب البرنامج كاملاً :)

 

للعلم ، انا استخدم هذا البرنامج منذ اكثر من 14 سنة ، ولا يوجد كمبيوتر استخدمه ، إلا وانصب هذا البرنامج عليه ، وذلك لإمكانياته الجبّارة :)

 

جعفر

1
#11

نعم اخي تم بالفعل

#12

عفوا ما فهمت قصدك :(

1
#13

تم تحميل البرنامج ومن ثم تنم تنصيبه بتلك الصوره

post-267109-0-74386200-1389193725.jpg

ثم ظهر لي هذا الخطاء

post-267109-0-25190800-1389193767_thumb.

بارك الله بك

#14

اخي جعفر لماذا هذا الخطاء

#15

تفضل :)

 

post-273849-0-48251000-1389196919_thumb.

 

كما ان هناك برنامج آخر يخبرك عن عدد كل لون في الصورة ، ولكني لم اتعامل معه ، واليك رابطه وطريقة عرضه:

 

post-273849-0-82316900-1389196946_thumb.

 

جعفر

120.amir.zip

#16

هذا الخطأ بارك الله فيك ، لأنك لم تتبع خطواتي في المشاركة رقم 6 ، وانما خلطت الكودين في اماكن خطأ :(

#17

استاذنا الفاضل : جعفر

 

السلام عليكم ورحمة الله وبركاته

 

وحياك الله بعد كل هذه الغيبة

 

 

سؤال موجه للأخ أمير

 

ما فائدة هذه الحقول في البرنامج الخاص بك !!!!

 

post-15367-0-96242200-1389201231.jpg

 

هل تريد فيما بعد استخراج رقم اللون عندما تضغط على اي لون في الصوره ؟؟؟؟

 

نرجو التوضيح

 

 

بالتوفيق

#19

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

#20

تفضل اخي الكريم

 

post-15367-0-03357000-1389210041_thumb.g

 

عند الضغط على اي مكان في الصوره ستظهر ارقام  RGB في اماكنها المخصصة حسب الكود التالي

 

 

Private Sub ImageFrame1_Click()
  On Error Resume Next
   Dim a As Long
   a = GetCursorPos(p)
   Me.Text1 = GetPixel(GetDC(0), p.X, p.y)
 
'احمر
   Me.Text24 = Me.Text1 Mod 256
'اخضر
   Me.Text26 = Int(Me.Text1 / 256) Mod 256
'ازرق
  Text28 = Int(Me.Text1 / 256 / 256)
End Sub
 
ونفس الكود للصوره الثانية مع تغيير مايلزم
 
 

 

za-Amir.rar

 

بالتوفيق

#21

انا بجد مش عارف اقول لحضرتك ايه غير ان ربنا يجعله في ميزان حسناتك  وياااااااااااااااارب يحفظك لينا

#22

الاخت الفاضله تم التجربه بالفعل ونجاح المطلوب ولكن يوجد شيء بسيط جدا وهوا لماذا لم تفعلي 

Hue:

Sat:

Lum:

#23

هل هذا الكود اضعه لجلب HSL

Private Sub ImageFrame1_Click()
  On Error Resume Next
   Dim a As Long
   a = GetCursorPos(p)
   Me.Text1 = GetPixel(GetDC(0), p.X, p.y)
 
'احمر
   Me.Text24 = Me.Text1 Mod 256
'اخضر
   Me.Text26 = Int(Me.Text1 / 256) Mod 256
'ازرق
  Text28 = Int(Me.Text1 / 256 / 256)
End Sub
#24
amir_adam87 كتب:

 

هل هذا الكود اضعه لجلب HSL

Private Sub ImageFrame1_Click()
  On Error Resume Next
   Dim a As Long
   a = GetCursorPos(p)
   Me.Text1 = GetPixel(GetDC(0), p.X, p.y)
 
'احمر
   Me.Text24 = Me.Text1 Mod 256
'اخضر
   Me.Text26 = Int(Me.Text1 / 256) Mod 256
'ازرق
  Text28 = Int(Me.Text1 / 256 / 256)
End Sub

 

 

لا يا أخي الكريم

 

الـ  HSL هي عبارة عن الصفات الأساسية للون مثل (صبغة اللون -  صفاء اللون - اضاءة اللون - سطوع اللون - اشباع اللون  )  وليس اللون نفسه

 

H =  Hue  صبغة اللون

 

S = Saturation  صفاء اللون

 

L = Luminance  اضاءة اللون 

 

وهذه القيم تستخرج بمعادلات معقدة تم وضعها لك في الوحدة النمطية ويتم استدعاؤها بهذا الشكل

 

Private Sub ImageFrame1_Click()
  On Error Resume Next
   Dim a As Long
   Dim n As HSLCol
   a = GetCursorPos(p)
   Me.Text1 = GetPixel(GetDC(0), p.X, p.Y)
 
'أحمر
   Me.Text24 = Me.Text1 Mod 256
'أخضر
   Me.Text26 = Int(Me.Text1 / 256) Mod 256
'ازرق
  Text28 = Int(Me.Text1 / 256 / 256)
 
    n = RGBtoHSL(RGB(Me.Text24, Me.Text26, Me.Text28))
'Hue صبغة اللون
    Me.Text16 = n.Hue
'Luminance اضاءة اللون
    Me.Text20 = n.Lum
'Saturation صفاء اللون
    Me.Text22 = n.Sat
End Sub
 
 
 
post-15367-0-40161700-1389265540_thumb.g
 
 
 
 
 
 
بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 9 يناير 2014 في 14:08

3

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