2008-09-01 3 views
3

한 색상 프로파일에서 다른 색상 프로파일로 이미지를 변환하는 방법 (화면에서 프린터로, 또는 스캐너에서 화면으로). Visual C++에서는 ICM.h의 함수를 사용합니다. GDI +를 사용하여 관리하는 방법이 있습니까?C#의 이미지에 ICC 색상 프로파일 적용 (Dotnet)

WPF가 아닌 GDI +를 사용해야합니다. 나는 관리되는 솔루션을 선호하지만 사용 가능하지 않다면 PInkvoke 만 있으면 충분할 것입니다.

답변

4

여러 가지 해결책이 있습니다.

  1. GDI +의 경우 check out this article at MSDN입니다.
  2. WPF (.NET 3.0)의 경우 System.Windows.Media 네임 스페이스를 참조하십시오. BitmapEncoder과 같이 ColorContext이라는 개념이 있으며 "비트 맵 이미지와 관련된 ICC (International Color Consortium) 또는 ICM (Color Management) 색상 프로파일을 나타냅니다."와 같은 여러 가지 클래스가 있습니다.

두 가지 모두 꽤 복잡해 보입니다. 따라서 다른 사람의 코드를 구매할 수있는 옵션이 항상 있습니다. Atalasoft의 DotImage Photo Pro에는 ICC 프로필 설정 기능이 내장되어 있습니다. 코드가 비쌉니다. dev 라이센스는 거의 2k입니다. 그러나 dotnet 커뮤니티에 참여한 것을 토대로, 나는 그들에게 소용돌이를 털어 놓을 것입니다.

1

Lcms을 살펴 봐야합니다. 자사의 색상 관리 시스템은 상당히 완성되었지만 C로 작성되었으므로 pinvoke를 사용할 수 있지만 Managed C++ wrapper를 사용하는 것이 좋습니다. 현재 실제로 엔진 주위의 관리되는 래퍼 (기본, 색상 프로파일 변환, 실험실 판독 값) 작업을하고 있습니다. 내가 완성 된 후에 코드에 대한 링크를 게시 할 수 있습니다. 하지만 일주일 정도 될 수 있습니다.

+0

끝나면 바로 링크를 보내주십시오! 그것은 완벽하게 들린다. –

+0

Mattlant, lcms에 대한 관리되는 래퍼를 완료 한 적이 있습니까? 그렇다면 어딘가에 게시하는 것이 좋습니다. 고맙습니다. – Cshah

관련 문제