2008-09-29 7 views
1

.NET에서 이미지를 프로그램 적으로 채색하는 간단한 방법이 있습니까? 기본적으로 흑백 이미지가 있고 그 위에 핑크라고 말하면서 그 레이어의 불투명도를 줄여서 핑크색으로 그림을 색칠해야합니다..NET에서 "Colorizing"이미지

답변

2

멋진 ImageMagick 라이브러리를 사용해야합니다. 그것은. NET 바인딩 그래서 거기 아무런 문제가있다.

재미있게 보내세요! :)

0

마음에 샘솟는 방법은 드로잉 패키지를 사용하여 주어진 색상의 그림 위에 직사각형을 그립니다 (알파를 설정할 수 있음). 매우 효율적인 것은 아니지만 캐싱을 사용하면 바쁜 서버에서도 문제가되지 않습니다. 밖으로

0

이것은 조금 닷넷 프레임 워크 방법 ... 단일 메서드 호출 솔루션을 찾을 수없는 경우 너무 정의. 나는 무엇인가 볼 수있는 것을 게시한다.

WPF가있는 경우 이미지를 컨트롤에로드 할 수 있습니다. 그 위에 다른 컨트롤 (분홍색 채우기 및 투명도가있는 사각형)이 있어야합니다. 다음을 (둘 다 완벽하게 겹치도록 레이아웃 그리드 같은 것을 사용) 당신은

RenderTargetBitmap bmp = new RenderTargetBitmap(imageWidth,imageHeight, 
    DPIHoriz, DPIVert, 
    PixelFormats.Pbrga32); 
// if you don't want to make the controls 'visible' on screen, you need to trigger size calculations explicitly. 
grid.Measure(new Size(imageWidth, imageHeight)); 
grid.Arrange(new Rect(0,0, imageWidth, imageHeight); 
bmp.Render(grid); 

그래서 당신은 당신이 메모리에 비트 맵에 기록, 화면에 표시되는 무엇이든 얻을 수 있습니다. 그런 다음 그것을 저장할 수 있습니다. 그래도 작동하지 않으면 WriteableBitmap 클래스를 사용하여 픽셀 수준 제어를 수행하고 바이트 작업을 수행 할 수 있습니다.

0

나는 당신이 단순히 smi 투명 레이어를 맨 위에 올려 놓는 것보다 이미지를 색칠하고 싶다면 좀 더 복잡 할 것이라고 생각합니다. PhotoShop의 "화면"레이어 모드와 같은 효과를 원한다면 흰색 부분을 흰색으로 유지하려면 이미지의 검은 색 음영을 새 색상의 음영으로 교체해야합니다.

.NET에서 가장 명확하게 수행 할 수 있지만 일종의 라이브러리를 조사하는 것이 좋습니다.