IWICDevelopRaw 지원
애플리케이션이 RAW 처리를 지원할 수 있도록 코덱 작성자는 IWICDevelopRaw의 모든 매개 변수를 구현하는 것이 좋습니다. Windows 7의 경우 WIC(Windows 이미징 구성 요소)는 모든 IWICDevelopRaw에 대한 지원이 필요합니다. 파일 형식이 이러한 매개 변수를 모두 지원하지 않는 경우 이미지 파일 형식을 수정해야 합니다.
애플리케이션에서 기본 RAW 처리를 사용하도록 설정하려면 코덱이 노출(ExposureCompensationSupport) 및 색(예: KelvinWhitePointSupport 및 TintSupport)에 대한 조정을 지원해야 합니다. 또한 특정 색 공간 및 픽셀 형식에 대한 출력을 사용하는 것이 좋습니다. 물론 다른 조정에 대한 지원은 권장되며 Windows 7에 필요합니다.
RAW 코덱은 이미지 회전 및 빠른 미리 보기에 대한 기본 지원을 제공해야 합니다. 회전은 다음과 같은 두 가지 방법으로 지정할 수 있습니다.
- IWICDevelopRaw::SetRotation 메서드. 이 메서드는 CopyPixels에 대한 후속 호출의 출력에 대해 원하는 회전 각도를 설정합니다.
- IWICBitmapSourceTransform::CopyPixels 메서드. 호출자는 dstTransform 옵션을 설정하여 원하는 회전 각도를 나타낼 수 있습니다.
이러한 두 가지 방법은 다음과 같은 방식으로 다릅니다.
- 디코더 개체의 인스턴스에서 IWICDevelopRaw 설정만 유지할 수 있습니다.
- IWICBitmapSourceTransform::CopyPixels는 해당 특정 호출에만 적용됩니다. 어떤 종류의 지속성이 없습니다.
- IWICDevelopRaw 는 회전에서 훨씬 세분화된 제어를 제공합니다. IWICBitmapSourceTransform::CopyPixels 는 90도 증분으로 제한됩니다.
회전이 IWICDevelopRaw 및 IWICBitmapSourceTransform 둘 다에 지정된 경우 회전 효과는 누적됩니다. 예를 들어 IWICDevelopRaw 가 25도 회전을 지정하고 IWICBitmapSourceTransform 이 90도 회전을 지정하는 경우 다음이 발생합니다.
- IWICBitmapFrameDecode::CopyPixels 호출은 25도 회전을 적용해야 합니다(즉, IWICDevelopRaw에 지정된 양만).
- dstTransform 크기가 90인 IWICBitmapSourceTransform::CopyPixels 를 호출하면 115도 회전(25 + 90)이 발생합니다.
- 다시 말하지만 IWICDevelopRaw::SetRotation 을 통해 지정된 25도 회전만 유지할 수 있습니다.
Windows Vista에서 IWICBitmapFrameDecode::GetThumbnail 및 IWICBitmapDecoder::GetPreview 메서드를 사용하면 호출자가 각각 포함된 미리 보기 및 미리 보기 이미지를 가져올 수 있습니다. 이는 이미지 파일 스트림에서 미리 계산된 미리 보기 및 미리 보기를 반환하기 위한 것입니다. 미리 보기 또는 미리 보기를 "즉시" 생성하면 Windows Explorer 및 사진 뷰어에서 성능이 저하됩니다. 또한 코덱은 사용자가 처리 설정을 대화형으로 제어할 때 업데이트된 화면 해상도 이미지를 신속하게 반환하는 방법을 제공해야 합니다.
IWICDevelopRaw::SetRenderMode를 호출하면 IWICBitmapFrameDecode::CopyPixels에 대한 후속 호출이 반환됩니다(속도 또는 품질 선호). 또한 IWICBitmapSourceTransform 인터페이스를 사용하여 다운샘플링이 필요한지 여부를 확인하고 적용할 수 있을 때 성능을 높일 수 있습니다. 모든 이미지의 색 충실도는 비교할 수 있어야 합니다. 처리 설정이 변경되면 이러한 모든 렌더링에 변경 내용이 반영되어야 합니다.
관련 항목