Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby umożliwić aplikacjom obsługę przetwarzania w formacie RAW, autorzy koderów są zdecydowanie zachęcani do implementowania wszystkich parametrów IWICDevelopRaw. W przypadku systemu Windows 7 składnik Windows Imaging Component (WIC) będzie wymagał obsługi wszystkich IWICDevelopRaw. Jeśli format pliku nie obsługuje wszystkich tych parametrów, należy skorygować format pliku obrazu.
Aby włączyć podstawowe przetwarzanie nieprzetworzone w aplikacjach, kodeci muszą obsługiwać korekty ekspozycji (ExposureCompensationSupport) i koloru (takich jak KelvinWhitePointSupport i TintSupport). Ponadto dane wyjściowe do określonych przestrzeni kolorów i formatów pikseli są zdecydowanie zalecane. Obsługa innych korekt jest oczywiście zachęcana i jest wymagana dla systemu Windows 7.
Koder kodujący RAW musi zapewnić podstawową obsługę rotacji obrazów i szybkiego podglądu. Rotację można określić na dwa różne sposoby:
- IWICDevelopRaw:: metodaSetRotation. Ta metoda ustawia żądany kąt obrotu dla danych wyjściowych kolejnych wywołań CopyPixels.
- IWICBitmapSourceTransform::CopyPixels metoda. Obiekt wywołujący może ustawić opcję dstTransform, aby wskazać żądany kąt obrotu.
Te dwa podejścia różnią się w następujący sposób:
- Ustawienia IWICDevelopRaw można utrwalać w wystąpieniach obiektu dekodera.
- IWICBitmapSourceTransform::CopyPixels dotyczy tylko tego konkretnego wywołania; nie ma trwałości jakiegokolwiek rodzaju.
- IWICDevelopRaw zapewnia znacznie bardziej szczegółową kontrolę w rotacji. IWICBitmapSourceTransform::CopyPixels jest ograniczona do 90 stopni.
Jeśli rotacja jest określona w obu IWICDevelopRaw i IWICBitmapSourceTransform, efekt obrotu jest skumulowany. Jeśli na przykład IWICDevelopRaw określa 25-stopniową rotację i IWICBitmapSourceTransform określa rotację 90 stopni, należy wykonać następujące czynności:
- Wywołania IWICBitmapFrameDecode::CopyPixels należy zastosować rotację 25 stopni (czyli tylko kwotę określoną w IWICDevelopRaw).
- Wywołania IWICBitmapSourceTransform::CopyPixels z wartością dstTransform wynoszącą 90, a następnie powodują obrót 115 stopni (25 + 90).
- Ponownie tylko 25-stopniowa rotacja określona za pośrednictwem IWICDevelopRaw::SetRotation można utrwalać.
W systemie Windows Vista IWICBitmapFrameDecode::GetThumbnail i IWICBitmapDecoder::GetPreview metody umożliwiają obiektom wywołującym pobieranie osadzonych miniatur i obrazów podglądu odpowiednio. Są one przeznaczone do zwracania wstępnie obliczonych podglądów i miniatur ze strumienia pliku obrazu. Generowanie podglądów lub miniatur "na bieżąco" powoduje niską wydajność w Eksploratorze Windows i Podgląd zdjęć. Koder kodujący musi również zapewnić sposób szybkiego zwracania zaktualizowanego obrazu rozdzielczości ekranu, gdy użytkownicy wykonują interaktywną kontrolę nad ustawieniami przetwarzania.
Wywołania IWICDevelopRaw::SetRenderMode określi, jakie kolejne wywołania IWICBitmapFrameDecode::CopyPixels powrotu (faworyzowanie szybkości lub jakości). Ponadto interfejs IWICBitmapSourceTransform może służyć do określenia, czy jest konieczne obniżenie wydajności i może zwiększyć wydajność, gdy można go zastosować. Wierność kolorów wszystkich obrazów powinna być porównywalna. Po wprowadzeniu zmian w ustawieniach przetwarzania wszystkie te renderowania powinny odzwierciedlać zmiany.
Tematy pokrewne
-
koncepcyjne
-
Jak napisać WIC-Enabled CODEC