تغییر تصاویر

Dithering برای تصاویر ماتریسی

Dithering یک تکنیک ایجاد حس تغییر رنگ و سایه‌های جدید با تغییر الگوی نقاط است که در واقع تصویر را ایجاد می‌کنند. این اصطلاح رایج‌ترین روش کاهش دامنه رنگ تصاویر به 256 (یا کمتر) رنگ است. Aspose.PSD از طریق معرفی متد Dither حمایت از Dithering را برای کلاس RasterImage فراهم می‌کند که دو پارامتر می‌پذیرد. اولین پارامتر از نوع DitheringMethod است که با دو گزینه امکان اعمال FloydSteinbergDithering و ThresholdDithering را فراهم می‌کند. پارامتر دوم برای متد Dither، BitCount به صورت integer است. BitCount اندازه‌گیری نمونه برای نتیجه dithering را تعریف می‌کند. مقدار پیش‌فرض یک است که سیاه و سفید را نشان می‌دهد، در حالی که مقادیر مجاز 1، 4، 8 هستند که به ترتیب حدود 2، 4 و 256 رنگ تولید می‌کنند.

تنظیم روشنایی، کنتراست و گاما

تنظیمات رنگی در تصاویر دیجیتال یکی از ویژگی‌های اساسی است که بیشتر کتابخانه‌های پردازش تصویر ارائه می‌دهند. تنظیمات رنگی را می‌توان به گونه‌های زیر دسته‌بندی کرد.

  1. روشنایی به روشنایی یا تاریکی رنگ اشاره دارد. افزایش روشنایی تصویر تمام رنگ‌ها را روشن می‌کند در حالی که کاهش روشنایی همه رنگ‌ها را تاریک می‌کند.
  2. کنتراست به ایجاد شدن اشیاء یا جزئیات در یک تصویر واضح‌تر اشاره دارد. افزایش کنتراست تصویر تفاوت بین مناطق روشن و تاریک را افزایش می‌دهد به طوری که مناطق روشنتر روشن‌تر و مناطق تاریک تاریک‌تر می‌شوند. کاهش کنتراست باعث می‌شود مناطق روشنتر و تاریکتر تقریباً همان مانند بماند اما تصویر کلی یکنواخت‌تر می‌شود.
  3. گاما بهینه‌سازی کنتراست و روشنایی نور نامستقیمی است که یک شیء را در تصویر روشن‌می‌کند.

تنظیم روشنایی

API Aspose.PSD برای Java متد AdjustBrightness را برای کلاس RasterImage ارائه می‌دهد که می‌توان با گذراندن یک مقدار integer به عنوان پارامتر، روشنایی تصویر را تنظیم کرد. بالاترین مقدار پارامتر یک تصویر روشن‌تر را نشان می‌دهد. در ادامه تصویر اصلی و تصویر نهایی را برای مقایسه مشاهده کنید.

تنظیم کنتراست

متد AdjustContrast ارائه‌شده توسط کلاس RasterImage می‌تواند برای تنظیم کنتراست تصویر با گذراندن یک مقدار float به عنوان پارامتر استفاده شود.

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

تنظیم گاما

متد AdjustGamma که توسط کلاس RasterImage ارائه شده است دو نسخه دارد. یکی از اوربارهای آن یک مقدار float را قبول می‌کند و اصلاح گاما را برای ضرایب کانال قرمز، آبی و سبز انجام می‌دهد. در حالی که دیگری سه پارامتر float را قبول می‌کند که هر ضریب رنگی را به طور جداگانه نشان می‌دهد. مثال کد زیر نشان می‌دهد چگونه گاما بر روی یک تصویر اعمال می‌شود.

آهنگ کردن یک تصویر

این مقاله نحوه استفاده از Aspose.PSD برای Java برای انجام تأثیر شفافیت بر روی تصویر را نشان می‌دهد. رابط‌های برنامه نویسی اپلیکیشن (API) Aspose.PSD متد‌های کارایی و آسان برای دستیابی به این هدف ارائه کرده است. Aspose.PSD برای Java کلاس GaussianBlurFilterOptions را برای ایجاد تأثیر تاری بر روی تصویر ارائه کرده است. کلاس GaussianBlurFilterOptions نیازمندی‌های radius و sigma را برای ایجاد تأثیر تاری بر روی تصویر دارد. مراحل انجام تغییر اندازه به سادگی به شرح زیر است:

  1. بارگذاری یک تصویر با استفاده از متد factory Load ارائه شده توسط کلاس Image.
  2. تبدیل تصویر به RasterImage.
  3. ایجاد یک نمونه از کلاس GaussianBlurFilterOptions با سازنده پیش‌فرض یا ارائه مقادیر radius و sigma در سازنده.
  4. فراخوانی متد RasterImage.Filter در حالی که محدوده را به عنوان مرز تصویر و نمونه کلاس GaussianBlurFilterOptions مشخص می‌کنید.
  5. ذخیره نتایج.

مثال کد زیر نشان می‌دهد چگونه تأثیر تاری روی یک تصویر ایجاد می‌شود.

تأیید شفافیت تصویر

این مقاله نحوه استفاده از Aspose.PSD برای Java برای بررسی شفافیت تصویر را نشان می‌دهد. مراحل بررسی شفافیت تصویر به سادگی به شرح زیر است:

  1. بارگذاری یک تصویر با استفاده از متد factory Load ارائه شده توسط کلاس Image.
  2. بررسی شفافیت تصویر اگر شفافیت صفر باشد تصویر شفاف است.
  3. مثال کد زیر نشان می‌دهد چگونه بررسی شود که آیا تصویر شفاف است یا نه.

پیادهسازی فشردهکننده GIF با ضرر

با استفاده از Aspose.PSD برای Java، توسعه‌دهندگان می‌توانند تفاوت پیکسل را تنظیم کنند. فشرده‌سازی GIF بر اساس یک “لغت‌نامه” از رشته‌های پیکسلی دیده شده است. رمزگر عادی برای پیدا کردن بلندترین رشته‌ی پیکسل که دقیقاً با پیکسل‌ها در تصویر همخوانی دارد، در لغت‌نامه جستجو می‌کند. رمزگر با ضرر بلندترین رشته‌ی پیکسلی را انتخاب می‌کند که “کافی شبیه” به پیکسل‌ها در تصویر باشد. کد زیر نمایش‌دهنده این قابلیت می‌باشد.

پیادهسازی Resampling Bicubic

Resampling به معنای تغییر ابعاد پیکسلی تصویر است. هنگامی که به کمینه‌نمونه‌برداری می‌پردازید، پیکسل‌ها را حذف می‌کنید و بنابراین اطلاعات و جزئیات از تصویر را حذف می‌کنید. هنگامی که به بیشینه‌نمونه‌برداری می‌پردازید، پیکسل‌ها را اضافه می‌کنید. فتوشاپ این پیکسل‌ها را با استفاده از تغییراندازۀ پراکندگی اضافه می‌کند. این مقاله نشان می‌دهد چگونه می‌توان از تکنیک Resampling Bicubic با استفاده از Aspose.PSD برای Java استفاده کرد.

کد زیر نمایش‌دهنده این قابلیت می‌باشد.

لایه تنظیم Invert

این مقاله نشان می‌دهد چگونه می‌توان از لایه تنظیم Invert با استفاده از Aspose.PSD برای Java استفاده نمود. یک لایه تنظیم یک نوع ویژه از لایه استفاده شده بیشتر برای اصلاح رنگی است. به جای داشتن محتوای خود، آن‌ها اطلاعات روی لایه‌های زیر آنها را تنظیم می‌کنند. لایه تنظیم Invert با انعکاس رنگ‌های یک تصویر یک اثر منفی تصویر ایجاد می‌کند.

کد زیر نمایش‌دهنده این قابلیت می‌باشد.