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.
[Funkcja skojarzona z tą stroną, DrawDib, jest starszą funkcją. Został zastąpiony przez klasę MediaComposition. klasy MediaComposition została zoptymalizowana pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał klasy MediaComposition zamiast DrawDib, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Łącznie, funkcje DrawDib są podobne do funkcji StretchDIBits, ponieważ zapewniają możliwości rozciągania i ditheringu obrazów. Jednak funkcje DrawDib obsługują dekompresję obrazów, przesyłanie strumieniowe danych i większą liczbę adapterów wyświetlania.
Przydatne jest użycie funkcji DrawDib w pewnych okolicznościach. Mimo to StretchDIBits jest bardziej zróżnicowana niż funkcje DrawDib i powinna być używana, gdy funkcje DrawDib nie mogą zapewnić żądanej funkcjonalności. Na poniższej liście opisano czynniki, które należy wziąć pod uwagę podczas podejmowania decyzji, czy użyć funkcji DrawDib, czy StretchDIBits.
Format informacji dotyczących tabeli kolorów. Funkcje DrawDib wyświetlają obrazy, które używają formatu DIB_RGB_COLORS dla tabeli kolorów. Jeśli obrazy w aplikacji przechowują informacje o tabeli kolorów z formatem DIB_PAL_COLORS lub DIB_PAL_INDICES, należy użyć StretchDIBits, aby je wyświetlić.
Tryb transferu. Funkcje DrawDib wymagają, aby aplikacja korzystała z trybu transferu SRCCOPY. Jeśli aplikacja używa StretchDIBits z trybem transferu innym niż SRCCOPY, należy nadal używać StretchDIBits. Podobnie, jeśli musisz użyć innych operacji rasterowych w aplikacji, takich jak XOR, użyj StretchDIBits.
Jakość odtwarzania wideo i animacji. Możesz użyć funkcji DrawDib dla aplikacji do przesyłania strumieniowego danych, takich jak te, które odtwarzają klipy wideo i animowane sekwencje. Funkcje DrawDib przewyższają StretchDIBits, ponieważ zapewniają obrazy o wyższej jakości i poprawiają płynność ruchu podczas odtwarzania.
Adaptery wyświetlacza. Funkcje DrawDib obsługują więcej adapterów wyświetlaczy niż obsługuje StretchDIBits. Funkcje DrawDib obsługują karty kolorów VGA, które zapewniają 16-kolorowe palety przy użyciu 4-bitowej głębokości obrazu, adaptery SVGA, które zapewniają 256-kolorowe palety przy użyciu głębokości obrazu 8-bitowego, oraz karty wyświetlania true-color, które zapewniają tysiące kolorów przy użyciu 16-bitowej, 24-bitowej i 32-bitowej głębokości obrazu.
Funkcje DrawDib zwiększają również szybkość i jakość wyświetlania obrazów na kartach graficznych o bardziej ograniczonej wydajności. Na przykład, korzystając z 8-bitowego adaptera wyświetlania, funkcje DrawDib działają wydajnie, przeprowadzając dithering obrazów w prawdziwych kolorach do 256 kolorów. Również przetwarzają ditheringiem 8-bitowe obrazy podczas korzystania z 4-bitowych wyświetlaczy.
Rozciąganie obrazu. Podobnie jak StretchDIBits, funkcje DrawDib używają prostokątów źródłowych i docelowych, aby kontrolować część wyświetlanego obrazu. Niepożądane fragmenty obrazu można przycinać lub rozciągnąć obraz, zmieniając położenie i rozmiar prostokątów źródłowych i docelowych. Jeśli sterownik wyświetlania nie obsługuje rozciągania obrazów, funkcje DrawDib zapewniają bardziej wydajne możliwości rozciągania niż StretchDIBits.
Skompresowane obrazy. Funkcje DrawDib będą rysować dowolny format, do którego posiadasz odpowiedni dekompresor, w tym RLE (kodowanie długości przebiegu), Cinepak oraz 411 YUV. System Windows zawiera dekompresory RLE i Cinepak, które można opcjonalnie zainstalować.
Koder Indeo nie jest już obsługiwany w systemie Windows.
Tematy pokrewne