첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ 회색 스케일 비트맵 명도 조정하기

------------------------------------------------------------------------------------------------------------------------

using System;

using System.Drawing;

 

#region 회색 스케일 비트맵 명도 조정하기 - AdjustGrayScaleBitmapBrightness(sourceImage)

 

/// <summary>

/// 회색 스케일 비트맵 명도 조정하기

/// </summary>

/// <param name="sourceImage">소스 이미지</param>

/// <param name="brightness">명도</param>

/// <returns>명도 조정 회색 스케일 비트맵</returns>

public Bitmap AdjustGrayScaleBitmapBrightness(Image sourceImage, int brightness)

{

    Bitmap targetBitmap = new Bitmap(sourceImage);

    Color  color;

    int    newBrightness;

 

    for(int y = 0; y < targetBitmap.Height; y++)

    {

        for(int x = 0; x < targetBitmap.Width; x++)

        {

            color = targetBitmap.GetPixel(x, y);

 

            newBrightness = Math.Min(255, (int)(0.299 * color.R + 0.587 * color.G + 0.114 * color.B) + brightness);

 

            color = Color.FromArgb(newBrightness, newBrightness, newBrightness);

 

            targetBitmap.SetPixel(x, y, color);

        }

    }

 

    return targetBitmap;

}

 

#endregion

------------------------------------------------------------------------------------------------------------------------

※ sourceBitmap : 32비트 RGB 비트맵을 가정한다.

※ 리턴값       : 8바이트 회색 스케일 비트맵을 가정한다.

Posted by 사용자 icodebroker

댓글을 달아 주세요