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

کنتراستروشنایی و گاما ویژگی‌های محبوبی هستند که برای تنظیم تصاویر استفاده می‌شوند. مقادیر مختلف این ویژگی ها برای کنترل و بهبود ظاهر تصاویر تنظیم شده است. در این مقاله به شما نشان خواهیم داد که چگونه کنتراست، روشنایی و گامای یک تصویر را به صورت برنامه ریزی شده در سی شارپ تنظیم کنید. شما می توانید از این برای پیاده سازی قابلیت های ویرایش تصویر از داخل برنامه های دات نت خود استفاده کنید.

C# API برای تنظیم کنتراست تصویر، روشنایی و گاما

Aspose.Imaging for .NET یک API پردازش تصویر قدرتمند و غنی برای پلتفرم‌های .NET/.NET Standard است. این برنامه از دستکاری طیف گسترده ای از فرمت های تصویر بدون نوشتن کد پیچیده پشتیبانی می کند. ما از این API برای تنظیم کنتراست، روشنایی و گامای تصاویر در سی شارپ استفاده خواهیم کرد. می‌توانید API را دانلود یا با استفاده از NuGet در برنامه‌های NET خود نصب کنید.

PM> Install-Package Aspose.Imaging

تنظیم کنتراست تصویر در سی شارپ

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

بیایید بررسی کنیم که چگونه کنتراست یک تصویر را در سی شارپ با استفاده از Aspose.Imaging برای دات نت تنظیم کنیم.

  • ابتدا تصویر را با استفاده از کلاس Image بارگذاری کنید.
  • سپس، شی را به نوع RasterImage بریزید.
  • اگر از روش RasterImage.CacheData() استفاده نمی کند، تصویر را در حافظه پنهان نگه دارید.
  • کنتراست را در محدوده [-100، 100] با استفاده از روش RasterImage.AdjustContrast(float) تنظیم کنید.
  • در نهایت، تصویر حاصل را با استفاده از روش RasterImage.Save(string) ذخیره کنید.

نمونه کد زیر نحوه تنظیم کنتراست تصویر در سی شارپ را نشان می دهد.

// یک تصویر را در یک نمونه از Image بارگذاری کنید
using (Image image = Image.Load("image.png"))
{
    // ارسال به تصویر شطرنجی
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage برای عملکرد بهتر
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // کنتراست را تنظیم کنید
    rasterImage.AdjustContrast(30);             

    // ذخیره تصویر
    image.Save("image-updated-contrast.png");
}

در زیر مقایسه تصاویر ورودی و خروجی پس از افزایش مقدار کنتراست ارائه شده است.

تنظیم کنتراست تصاویر در سی شارپ

کنتراست تصویر را تنظیم کنید

تنظیم روشنایی تصویر در سی شارپ

مشخصه روشنایی معمولاً دید اشیاء در یک تصویر را کنترل می کند. مقدار آن برای افزایش یا کاهش تاریکی تنظیم می شود. مراحل زیر برای تغییر روشنایی یک تصویر در سی شارپ آمده است.

  • ابتدا تصویر را با استفاده از کلاس Image بارگذاری کنید.
  • ارسال شی به نوع RasterImage.
  • اگر از روش RasterImage.CacheData() استفاده نمی کند، تصویر را در حافظه پنهان ذخیره کنید.
  • روشنایی تصویر را با استفاده از روش RasterImage.AdjustBrightness(float) تنظیم کنید.
  • در نهایت، تصویر حاصل را با استفاده از روش RasterImage.Save(string) ذخیره کنید.

نمونه کد زیر نحوه تنظیم روشنایی یک تصویر در سی شارپ را نشان می دهد.

// یک تصویر را در یک نمونه از Image بارگذاری کنید
using (Image image = Image.Load("image.png"))
{
    // ارسال به تصویر شطرنجی
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage برای عملکرد بهتر
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // روشنایی را تنظیم کنید
    rasterImage.AdjustBrightness(70);

    // ذخیره تصویر
    image.Save("image-updated-bightness.png");
}

در زیر مقایسه تصاویر ورودی و خروجی پس از تنظیم روشنایی آورده شده است.

تنظیم روشنایی تصاویر در سی شارپ

روشنایی تصویر را تنظیم کنید

تغییر گامای تصویر در سی شارپ

ویژگی گاما برای تغییر نسبت رنگ های قرمز، سبز و آبی در یک تصویر استفاده می شود. علاوه بر این، روشنایی تصویر را نیز تغییر می دهد. در زیر مراحل تغییر مقدار گامای یک تصویر در سی شارپ آمده است.

نمونه کد زیر نحوه تنظیم گامای یک تصویر در سی شارپ را نشان می دهد.

// یک تصویر را در یک نمونه از Image بارگذاری کنید
using (Image image = Image.Load("image.png"))
{
    // ارسال به تصویر شطرنجی
    RasterImage rasterImage = (RasterImage)image;

    // Cache RasterImage برای عملکرد بهتر
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

    // گاما را تنظیم کنید
    rasterImage.AdjustGamma(2.2f, 2.2f, 2.2f);

    // ذخیره تصویر
    image.Save("image-updated-gamma.png");
}

در زیر مقایسه تصاویر ورودی و خروجی پس از تنظیم مقدار گاما آورده شده است.

تنظیم گامای تصاویر در سی شارپ

گامای تصویر را تنظیم کنید

یک مجوز API رایگان دریافت کنید

برای استفاده از Aspose.Imaging برای دات نت بدون محدودیت ارزیابی می توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله با نحوه تنظیم کنتراست، روشنایی و گامای تصاویر در سی شارپ آشنا شدید. علاوه بر این، نمونه‌های کد نشان داده‌اند که پس از تغییر کنتراست، روشنایی و گاما، یک تصویر چگونه به نظر می‌رسد. اگر می‌خواهید درباره API پردازش تصویر .NET بیشتر کاوش کنید، به مستندات مراجعه کنید. همچنین، نمونه کد منبع کامل API را از GitHub دانلود کنید. اگر سؤال یا سؤالی دارید، در [فروم 25 ما با ما تماس بگیرید.

همچنین ببینید