2009-07-23 2 views
5

큰 사진에서 작은 이미지와 중간 크기의 이미지를 생성해야합니다. 작은 사진은 온라인 갤러리에 표시됩니다. 많은 사진 작가들이 Adobe RGB를 사용하여 JPEG 이미지를 제출하고 있습니다. 모든 축소 이미지 및 중간 크기 이미지에 sRGB를 사용하고 싶습니다.Windows (.Net)에서 JPEG 색상 공간 (Adobe RGB에서 sRGB)으로 변환

dotnet (asp.net)을 사용하고 있으며 품질을 저하시키지 않으면 서 Adobe RGB에서 sRGB로 변환 할 방법이 필요합니다.

답변

4

배경 정보 : jpg 파일에는 sRGB, Adobe RGB 또는 일반 ol 'RGB와 같은 8 비트의 빨강, 녹색 및 파랑 색이 있습니다. ICC 기술자는 색 공간을 결정합니다. 때때로 이것은 jpg 파일에 내장되어 있습니다. 경우에 따라 sRGB, Exif Colorspace 태그 a001 = 1을 지정하는 플래그가 있습니다. Adobe RGB에 대한 표준 플래그는 없지만 일부 응용 프로그램과 카메라는 exif 태그 A001에서 Adobe RGB에 65535 (보정되지 않음)을 사용합니다.

jpg 파일을 하나의 ICC 프로파일 (색상 공간)에서 다른 색상 프로파일로 변환하려면 CreateColorTransform을 사용하여 색상 공간 사이에 변환을 만듭니다. 소스 (Adobe RGB) 및 대상 (sRGB) 색상 공간에 대한 ICC 프로파일을 제공해야합니다.

변환이 완료되면 TranslateBitmapBits를 사용하여 픽셀을 조정하십시오. 이미지를 DIBSection으로 사용하는 것이 더 쉬울 수도 있습니다.

.asp로 작성하는 것이 다소 복잡 할 수 있으므로이 작업을 수행하는 그래픽 라이브러리를 사용하는 것이 더 쉽습니다.

4

ColorConvertedBitmap class에서 봐위한

convert image.jpg -profile sRGB.icc rgb_image.jpg 

또는 당신은 볼 수 있습니다.

+0

링크가 작동하는 것 같습니다. –

+0

@ 존 감사합니다, 나는 대답을 업데이 트했습니다. –

1

프로필이있는 ColorconvertedBitmap 클래스를 사용하는 간단한 샘플이있는 The bitmap transform classes을 살펴보십시오.