C#

[C#] 이미지를 흑백으로 바꾸기!

#흑백이미지 #회색이미지? #비트맵 #ColorMatrix #흑백사진 #흑백모드 #ImageAttributes #씨샵

포스팅 목차 바로가기

안녕하세요, 배곧동개발자 입니다.

사진을 다루던가 이미지 편집을 하는 로직을 개발하고 계신 분이라면 흑백모드가 필요한 경우가 있지요.

제가 흑백모드를 하는 로직을 들고와봤습니다.


1. 흑백모드 함수

음, 사실 별게 없습니다. 비트맵 형식의 이미지를 ColorMatrix를 통해서 회색으로 슝 바꾸는게 끝이에요.

private Bitmap grayScale(Bitmap basebit)
{
    Bitmap newbit = new Bitmap(basebit.Width, basebit.Height);
    Graphics g = Graphics.FromImage(newbit);
    ColorMatrix cMatrix = new ColorMatrix(
        new float[][]
        {
            new float[] {.3f, .3f, .3f, 0, 0},
            new float[] {.59f, .59f, .59f, 0, 0},
            new float[] {.11f, .11f, .11f, 0, 0},
            new float[] {0, 0, 0, 1, 0},
            new float[] {0, 0, 0, 0, 1}
     });
    ImageAttributes attributes = new ImageAttributes();
    attributes.SetColorMatrix(cMatrix);
    g.DrawImage(basebit, new Rectangle(0, 0, basebit.Width, basebit.Height), 0, 0, basebit.Width, basebit.Height, GraphicsUnit.Pixel, attributes);
    g.Dispose();
    return newbit;
}

따로 받아오는 컴포넌트도 아니고 using System.Drawing.Imaging; 를 참조하여 사용할 수 있기에 아주 간단하지요.


2. 결과

이거는 예전에 브라우저 흑백모드를 구현하느냐 만들었던 프로그램인데, 왼쪽 브라우저를 주기마다 캡쳐하여 흑백으로 변환 후 오른쪽에 뿌려주는 프로그램이였습니다.

이런식으로 다방면으로 활용이 가능하다는 사실!


어때요? 단순히 캡쳐 후 위에 함수에만 넣어주면 흑백 모드로 변하는게 너무 쉽지 않나요? 하지만 모르는 사람은 못쓴다는거- 이제 아셨으니 간단히 흑백이미지 만들어봅시다!

이만, 배곧동개발자 였습니다.

배곧동개발자

Share
Published by
배곧동개발자

Recent Posts

[세븐나이츠 리버스] 쫄작 가이드 (기초편)

#세븐나이츠리버스 #쫄작 #가이드 #꿀팁 #제이브 그 옛날, 세나를 해보신 분들이라면 모를 수 없으나 이제 세븐나이츠…

3주 ago

[세븐나이츠 리버스] 최신 쿠폰 공유! 쿠폰 입력 방법! (5월15일)

1. 세븐나이츠 리버스 오늘, 2025년 5월 15일에 오픈한 세븐나이츠 리버스! 다들 시작하셨나요? 제이브를 뽑고싶은데 아직…

3주 ago

[CSS] 이미지가 빙빙 돈다? animation spin

#css #spin #animation #spin 1. 이미지가 빙빙돈다! 어? 이게 뭐지? 이미지가 빙빙 돕니다. 나 이거…

1개월 ago

[node.js] npm.ps1 파일을 로드할 수 없습니다

#노드js #nodejs #에러 #오류 #npm 1. npm.ps1 Error node js 를 설치 후 npm을 이용하려…

2개월 ago

[MSSQL] 넓은 영어, 띄어쓰기 영어 입력되는 현상 (전각입력/문자폭)

#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…

3개월 ago

[이미르] 다니아믹 키 확실한 해결방법 (커스텀토큰/접속불가)

#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…

3개월 ago