شرح تطبيق photo colors

تطبيق photo colors  من تطوير أحمد جابر المقال هنا لعرضه وعرض السورس كود الخاص به

فى هذا التطبيق يتم تحليل الوان الصوره وبالتالى نقدر نخزنها فى قائمه وكمان ممكن نغيرها بألوان تانيه لكن مشروعنا بيعرض الالوان فقط

]داخل ملف manifest

اول حاجه هنعملها اننا ندى للبرنامج صلاحيات منها
1-استخدام الذاكره الخارجيه

2-استخدام الانترنت (ليس مهم لتشغيل الاعلانات فقط

ليصبح الملف كالتالي

manifest.xml

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

هتلاحظ انى عامل فى الواجهه طبقتان

1- هى relative وتتكون من عدد 2 من buttons +textview ودى اللى هتظهرلك اول ما تفتح البرنامج (الطبقه العليا)

2- هى linear وتتكون من imageview+listview الطبقه دى هتكون مخفيه فى اول البرنامج وهتظهر لما تضغط على اى زرار من الطبقه اللى فوق (الطبقه السفلى)

ليظهر الملف ف يالنهاية بالشكل التالي :

activity_main.xml

ملف الجافا MainActivity

أول شيء أستخدمنا

-onclicklistener للتعامل مع buttons

-adapterview.onclicklistener لعمل اى اكشن لما تضغط على اى عنصر فى listview

عرفنا مجموعة من المتغيرات كالتالي والتي ستتخدم في التطبيق

داخل الميثود بدأنا في ربط الملف بملف التصميم وحصلنا على ال Id الخاص بكل عنصر داخل ملف التصميم

من خلال الميثود التالية يمكننا ألتقاط الصورة بالكاميرا أو ظهور رسالة بأن الجهاز لا يدعم إلتقاط الصور في حالة الضغط على الزرار الخاص بالكاميرا أو إختيار الصورة من الصور الموجودة على الجهاز في حالة الضغط على الزار الآخر

هنا بنقدر نستقبل الداتا من الكاميرا وايضا الصوره اللى اخترناها من الجهاز وبنحفظها فى متغير Bitmap عشان نقدر نتعامل مع الصور بعد كده نلاحظ فى جزء الكاميرا اللى هو requestcode=1 بيدخل على ميثود perfomcrop وده عشان لو حابب تقص جزء من الصوره

 

ندخل على اهم ميثود ومن خلاله هنحلل الصوره action هتلاحظ اول حاجه عملتها خفيت عناصر وأظهرت عناصر كانت مخفيه من ضمن المتغيرات اللى فى اول الكود متغير object من كلاس سمه image_processing موجود من ضمن ملفات الجافا هنستخدم setter ,getter عشان نمرر الصوره للكلاس ده وبالتالي هيحلل الصوره ويرجع  الألوان اللى أكتشفها فيها

الجزء لما اضغط على اى لون معروض فى listview يظهر dailog فىه اسم اللون والكود الخاص به هو يستدعى الكلاس image_processing حتى يتمكن من معرفه اللون + معرفه كود اللون رقم بالنظام hexadecimal وده اللى هندخله فى background لimageview الى موجوده فى dailog

 

 

ليظهر الملف بالشكل التالي MainActivity.java

-ندخل على الكلاس image_processing

أهم ما فيه هو الجزء ده

 

اول حاجه بيعملها بيحول الصوره الى نظام ARGB8888 النظام ده بيجعل البكسل الواحد للصوره عباره عن 4 byte كل بيت عشان حاجه

1-Alpha وده مسؤل عن شفافيه اللون ديما بيكون 255,FF

2-Red وده مسؤل عن اللون الاحمر من ضمن الالوان الرايسه لتحديد اللون

3-Green

4-Blue

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

ليكون الشكل النهائي الخاص بالكلاس كالتالي

image_processing

التطبيق على البلاي من هنا

لتحميل السورس كود للتطبيق من هنا

يرجي تقييم الموضوع

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather
The following two tabs change content below.

عهود على

Latest posts by عهود على (see all)

Comments

comments

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *