문제

.NET에서 이미지를 프로그래밍 방식으로 채색하는 간단한 방법이 있습니까? 기본적으로 우리는 흑백 이미지를 가지고 있으며, 분홍색 층을 그 위에 놓고 그 레이어의 불투명도를 줄여 그림을 분홍색으로 채색하게 만들어야합니다.

도움이 되었습니까?

해결책

당신은 멋진 것을 사용해야합니다 Imagemagick 도서관. .NET 바인딩이 있으므로 문제가 없습니다.

재미있게 보내세요! :)

다른 팁

떠오르는 방식은 드로잉 패키지를 사용하여 주어진 색상으로 그림 위에 사각형을 그리는 것입니다 (알파를 설정할 수 있음). 그다지 효율적이지는 않지만 캐싱을 사용하면 바쁜 서버에서도 해를 끼치 지 않습니다.

이것은 .NET Framework 메소드에 대해 너무 사용자 정의입니다. 단일 메소드 호출 솔루션을 찾을 수 없다면 .. 나는 볼 수있는 무언가를 게시합니다.

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);

따라서 메모리의 비트 맵에 기록 된 화면에서 보는 모든 것을 얻습니다. 그런 다음 저장할 수 있습니다. 그래도 작동하지 않으면 Writ

SMI-Transparent 레이어를 맨 위에 놓는 대신 이미지를 채색하려면 조금 더 복잡 할 것이라고 생각합니다. Photoshop의 "화면"레이어 모드와 동일한 효과를 원한다면 이미지의 모든 색조를 새로운 색상의 음영으로 교체하여 흰색 부품을 흰색으로 유지해야합니다.

.NET에서 가장 확실하게 수행 될 수는 있지만 어떤 종류의 라이브러리를 보는 것이 아프지 않을 것이라고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top