دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • آبان

جلسه ۴۰ : افکت های تصویر در اندروید

  • دسته‌بندی‌ها :
جلسه ۴۰ : افکت های تصویر در اندروید
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. آندروید به شما اجازه می دهد با اضافه کردن انواع مختلف افکت ها روی تصاویر، آن ها را دستکاری کنید. شما می توانید به راحتی تکنیک های پردازش تصویر را اعمال کنید تا انواع مختلفی از افکت ها را بر روی تصاویر اضافه کنید. افکت ها می تواند شامل ایجاد روشنایی، تاریکی، تبدیل سیاه و سفید و… باشند، اندروید کلاس Bitmap را برای پردازش تصاویر فراهم می کند.که این کلاس را می توان در android.graphics.bitmap پیدا کرد، ما در ادامه ی مباحث این آموزش شما را با چگونگی کار با افکت های تصویر در اندروید آشنا خواهیم کرد.

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

      در ادامه ی مباحث طرز کار با افکت های تصویر در برنامه نویسی اندروید و متدهای مربوطه را ارائه می دهیم.

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

      ساختار پایه

      ابتدا باید با استفاده از کلاس Bitmap یک imageView بصورت زیر ایجاد کنید:

      مثال : 

      سپس باید یک bitmap را با فراخوانی متد ()getBitmap از کلاس BitmapDrawable بصورت زیر ایجاد کنیم:

      مثال : 

      یک image چیزی جز یک ماتریس دو بعدی نیست. همانطور که شما یک Bitmap را تنظیم می کنید، یک تصویر نیز از پیکسل ها تشکیل شده است.

      ساختار آن به صورت زیر است:

      مثال : 

      در کد فوق توابع ()getWidth و ()getHeight عرض و ارتفاع ماتریس را برمی گرداند.

      متد ()getPixel پیکسل ها را از index مشخص شده برمی گرداند.

      هنگامی که پیکسل را گرفتید، می توانید به راحتی با توجه به نیازهای خود آن را دستکاری کنید.

      علاوه بر متدهای فوق ، متدهای دیگری نیز ارائه شده که اجازه ی انواع دستکاری ها را روی تصاویر می دهد:

      ردیفمتد و توضیحات
      ۱

      copy(Bitmap.Config config, boolean isMutable)

      این متد پیکسل های یک bitmap را در bitmap جدید کپی می کند.

      ۲

      createBitmap(DisplayMetrics display, int width, int height, Bitmap.Config config)

      یک bitmap قابل تغییر را با عرضو ارتفاع مشخص شده برمی گرداند.

      ۳

      createBitmap(int width, int height, Bitmap.Config config)

      یک bitmap قابل تغییر را با عرضو ارتفاع مشخص شده برمی گرداند.

      ۴

      createBitmap(Bitmap src)

      یک bitmap غیر قابل تغییر را از bitmap منبع برمی گرداند.

      ۵

      extractAlpha()

      یک bitmap جدید را که حاوی مقدار آلفا از اصلی آن است را برمی گرداند.

      ۶

      getConfig()

      این متد پیکربندی را برمی گرداند، در غیر این صورت null است.

      ۷

      getDensity()

      چگالی یک bitmap را برمی گرداند.

      ۸

      getRowBytes()

      تعداد بایت های بین سطرهای پیکسلهای bitmap را برمی گرداند.

      ۹

      setPixel(int x, int y, int color)

      رنگ های مشخص شده را داخل bitmap بر اساس مختصات x و y می نویسد.

      ۱۰

      setDensity(int density)

      چگالی یک bitmap را برمی گرداند.

      مثال

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

      برای اجرا یا تست این برنامه شما نیاز به یک دستگاه اندروید واقعی دارید.

      مراحل انجام کار:

      مراحلتوضیحات
      ۱مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کرده و نام پکیج را com.pvlearn.myapplication قرار بدهید.
      ۲به محتوای فایل src/MainActivity.java کدهای ضروری را اضافه کنید.
      ۳اجزای طراحی را در محتوای فایل  res/layout/activity_main تعریف کنید.
      ۴برنامه را اجرا کنید تا شبیه ساز اندروید نتیجه را نمایش دهد.

      محتوای فایل MainActivity.java را به صورت زیر تغییر دهید:

      مثال : 

      محتوای فایل res/layout/activity_main.xml:

      مثال : 

      محتوای فایل  AndroidManifest.xml:

      مثال : 

      اجرای برنامه

      برای اجرای برنامه ی اندرویدی خود یکی از فایل های activity در برنامه ی خود کلیک کنید.

      سپس روی نماد  (Run) از نوار ابزار برای شروع اجرای برنامه کلیک کنید.

      سپس نتیجه اجرای برنامه را در دستگاه اندروید خود مشابه زیر مشاهده خواهید کرد:

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

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

      حالا اگر به صفحه ی خود در دستگاه موبایل نگاه کنید یک تصویر به همراه چند button را مشاهده خواهید کرد.

      حالا روی Gray کلیک کنید تا تصویر شما سایه و سفید شود.

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

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

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

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

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

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

      افکت های تصویر در برنامه نویسی اندروید -تاریک شدن زمینه تصویر

      افکت های تصویر در برنامه نویسی اندروید -تاریک شدن زمینه تصویر

      در نهایت روی دکمه ی red کلیک کنید تا همانند عکس زیر، زمینه تصویر را به رنگ قرمز تیره در آورد:

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

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

      حالا روی دکمه ی green کلیک کنید تا زمینه ی تصویر مطابق عکس زیر به رنگ سبز روشن درآید:

      افکت های تصویر در برنامه نویسی اندروید -سبز شدن زمینه ی تصویر

      افکت های تصویر در برنامه نویسی اندروید -سبز شدن زمینه ی تصویر

      در نهایت روی دکمه ی blue کلیک کنید تا رنگ زمینه ی تصویر به رنگ آبی درآید :

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

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

      کلام آخر

      گاهی در بعضی اپلیکیشن های ایجاد شده با اندروید استدیو لازم می شود که شما امکان اعمال افکت های متنوع و خاصی را روی تصاویر خود به کاربران بدهید، از این رو مباحث این بخش را به آشنایی با افکت های تصویر در برنامه نویسی اندروید اختصاص دادیم.

      در بخش بعدی به آموزش کار با Image Switcher در اندروید خواهیم پرداخت.

      QR:  جلسه ۴۰ : افکت های تصویر در اندروید
      به اشتراک بگذارید