첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
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바이트 회색조 비트맵을 가정한다.

728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요