در این آموزش برنامه نویسی اندروید، می خواهیم کنتراست یک تصویر را تغییر دهیم. شما در این آموزش یاد می گیرید که چطور کنتراست یک تصویر را، به صورت رنگی یا به صورت سیاه و سفید تغییر دهید.

کنتراست چیست؟

کُنْتْراسْت به‌معنای تباین و جدایی است و یکی از اصل‌های پایه‌ایِ رشته‌های گوناگونِ هنر است. فرق و کشمکشِ متقابلِ عناصر اثر هنری موجب برقرار شدن ارتباطی منطقی ولی متضاد بین اجزا می‌شود و در تأثیرگذاری اثر بسیار مؤثر است، چراکه درک انسان از بسیاری چیزها با تجربه و مقایسهٔ شکل، کیفیت، و معناهای آنها به‌دست می‌آید.

تغییر تدریجیِ مقدار کنتراست در یک عکس در هنرهای تجسمی مانند نقاشی، عکاسی و گرافیک، کنتراست‌های رنگ، تیرگی ـ روشنی، اندازه، جهت، بافت، پهنی ـ باریکی، هندسی ـ غیرهندسی و… به‌کار می‌رود و اثر هنری را تأثیرگذار می‌کند.

برای نمونه، رامبراند معمولاً از کنتراست شدید تیرگی ـ روشنی بهره گرفته و با تاباندن نور در بخش‌های موردنظرش، که درمیان سایه‌های تیرهٔ وسیع در تابلو قرار گرفته‌اند، بر این بخش‌ها تأکید می‌کند.

[منبع: ویکی پدیا]

پروژه جدیدی با حداقل SDK مورد نیاز ۱۰ ایجاد کنید و لایوت اصلی (activity_main.xml) را باز کنید. در این لایوت، یک button و یک imageView به شکل زیر وارد کنید:

 

پوشه ای با نام drawable هم در پوشه res ایجاد کرده و یک تصویر دلخواه در آن قرار دهید. من نام این تصویر را image گذاشته ام.

حالا دستورات زیر را در اکتیویتی اصلی برنامه کپی کنید:

 

خوب! تا اینجای کار، ما کنتراست سیاه و سفید تصویر را به دست آورده ایم. که می توانید نتیجه را در ادامه مشاهده کنید.

تصویر اصلی چیزی شبیه به تصویر زیر خواهد بود:

برنامه نویسی اندروید - تغییر کنتراست رنگی و سیاه و سفید تصویر

این هم نتیجه کار:

برنامه نویسی اندروید - تغییر کنتراست رنگی و سیاه و سفید تصویر

حالا اگر بخواهیم کنتراست رنگی را تغییر دهیم، دستورات موجود در اکتیویتی را به صورت زیر تغییر می دهیم:

 

این هم نتیجه کار:

برنامه نویسی اندروید - تغییر کنتراست رنگی و سیاه و سفید تصویر

من مقدار ۱۰۰ رو به عنوان ورودی تابع در نظر گرفتم. با تغییر این مقدار، می توانید میزان کنتراست های متفاوتی به دست آورید.