با درود.

دوستان زیادی سوال پرسیده بودند که چطور میشه یک تصویر ر ا از روی فلش میکرو کنترلر با استفاده از    کتابخانه  lcdنوکیا 1661 نمایش داد و به دلیل ابهامی که برای  تعداد زیادی از  افراد   وجود دارد ، در این مطلب توضیحات مربوطه رو به همراه یک نمونه کد اینجا قرار دادم .

************************************

************************************

کلیات نحوی نمایش تصویر از حافظه فلش روی :

1- فراهم آوردن عکس با سایز مناسب .

2 - تبدیل عکس به یک آرایه که هر عضو آرایه  کد رنگ مربوط به یک پیکسل است .

3 - ایجاد یک پنجره با تابع nlcd_set_widow  در مختصات مناسب و با ابعاد( پیکسل *پیکسل ) تصویر مورد نظر

4 - خواندن تک تک اعضای آرایه و ارسال آنها به lcd  از طریق تابع nlcd_paint_pixel .

************************************

************************************

حالا در ادامه مطلب در عمل نشان خواهیم داد که چطور اینکار انجام میشود .

 

************************************

توضیح مرحله 1 :

اینکار خیلی ساده هست . با استفاده از نرم افزار پاینت ویندوز ( یا هرر نرم افزار دیگه ای ) عکس رو باز کنید و اون رو به اندازه مناسب( که در اینجا برای اینکه حجم کمی از فلش میکرو اشغال بشه من  30*37 رو انتخاب کردم )تبدیل کنید و با فرمت jpg ذخیره کنید .

************************************

توضیح مرحله 2 :

من از یک سایت برای  تبدیل عکس به آرایه استفاده کردم .( و متاسفانه کد رنگها رو به صورت 8 بیت 8 بیت تبدیل میکنه ) و آدرسش اینجاست :

آدرس وبسایت تبدیل عکس به آرایه :

وقتی این آدرس رو باز کنید تصویری شبیه زیر میبینید .

 

************************************

 توضیح تصویر :

کادر آبی : آدرس تصویری هست که میخواهید تبدیلش کنید .

کادر قرمز : مربوط به عمق رنگ و فرمت نمایش پیکسلها هست که در مورد  lcd  nokia1661   طبق همین که در تصویر مبیبنید تنظیم کنید .

کادر صورتی:  مختصات نمایش تصویر روی  lcd   هست که مربوط به گوشه بالا سمت چپ تصویر میشه .

کادر سبز :  حالا اگر این دگمه رو بفشارید کارد های مشکی و زرد تولید میشوند .

کادر زرد :  این همون آرایه ای هست که برای نمایش تصویر نیاز داشتیم . و باید در کد کپی بشه .

کادر مشکی : مربوط به مختصات نمایش تصویر و طول و عرض تصویر هست .و از سمت چپ به ترتیب شامل :  ستونx ، ردیفy ، عرض تصویر ، ارتفاع تصویر میشود.

 

***********************************

 توضیح مراحل 3 و 4 :  را میتوانید به طور عملی در فایلهای .h و .c  که در زیر قراردادم مشاهده کنید .

من این کد رو  برای یک پروژه تجاری استفاده کردم و بنا به شرایط اون پروژه به این صورت نوشته بودمش.

خودتان میتوانید در این کد تغییراتی بدید و اون رو برای پروژه خودتان مناسب سازی کنید .

این فایل شامل یک فایل هدر و یک فایل سورس به همراه تصویری که برای تهیه این مثال از آن استفاده کردم میباشد .

 

دانلود فایل مثال

 

برای اطلاع از اخبار جدید و موارد اصلاحی در مورد این کتابخانه خواهشمندم در کانال تلگرام وبلاگ: dastsazemanblogfa@

 

مطالب مرتبط:

کتابخانه حرفه ای nokia 1661 lcd برای میکروهای stm32 و Avr + فونت فارسی