Udostępnij za pośrednictwem


Omówienie źródeł map bitowych

W tym temacie przedstawiono źródła map bitowych, podstawowy składnik składnika Windows Imaging Component (WIC), który reprezentuje piksele mapy bitowej obrazu.

Ten temat zawiera następujące sekcje.

Źródła map bitowych

Składnik IWICBitmapSource jest podstawowym blokiem konstrukcyjnym funkcji WIC i reprezentuje pojedynczy zestaw pikseli. Źródło mapy bitowej może być pojedynczą ramką obrazu wieloklatkowego lub może być wynikiem przekształcenia źródła mapy bitowej. Interfejs IWICBitmapSource jest podstawą wielu podstawowych interfejsów WIC, takich jak ramka dekodera IWICBitmapFrameDecode i przekształca źródła map bitowych, takie jak IWICBitmapFlipRotator.

W poniższej tabeli opisano różne składniki źródłowe mapy bitowej udostępniane przez usługę WIC.

Źródła map bitowych Opis
IWICBitmapFrameDecode Reprezentuje ramkę obrazu dekodera.
IWICBitmap Zapewnia możliwość zapisu i reprezentację w pamięci dla źródeł map bitowych.
IWICBitmapClipper Przycina źródło mapy bitowej do żądanego prostokąta.
IWICBitmapFlipRotator Przerzuca i/lub obraca źródło mapy bitowej do żądanej orientacji.
IWICBitmapScaler Skaluje źródło mapy bitowej do żądanego rozmiaru.
IWICColorTransform Przekształca kontekst kolorów źródła mapy bitowej.
IWICFormatConverter Konwertuje format pikseli źródła mapy bitowej.

 

Ramki bitmapowe

Najczęstszym IWICBitmapSource jest IWICBitmapFrameDecode. Ten interfejs służy do uzyskiwania dostępu do rzeczywistych danych mapy bitowej w formacie obrazu. Wiele formatów obrazów obsługuje tylko jedną ramkę mapy bitowej, a inne formaty, takie jak GIF i TIFF, obsługują wiele ramek na obraz.

Aby zapoznać się z przykładem uzyskiwania ramek mapy bitowej z obrazu, zobacz temat Jak pobrać ramki obrazu.

Mapy bitowe

IWICBitmap dodaje pojęcia dotyczące możliwości zapisu i statycznej pamięci do źródeł map bitowych. Mapy bitowe WIC umożliwiają użytkownikom bezpośredni dostęp do pikseli źródła mapy bitowej. Ten bezpośredni dostęp jest zapewniany przez metodę Lock i obsługuje dowolną kombinację dostępu do odczytu i/lub zapisu do pikseli mapy bitowej. metoda Lock blokuje określony prostokąt mapy bitowej i udostępnia obiekt IWICBitmapLock w celu uzyskania dostępu do pikseli.

Aby zapoznać się z przykładem użycia obiektów IWICBitmap oraz IWICBitmapLock, zobacz temat Jak modyfikować piksele źródła mapy bitowej.

Przekształcanie źródeł map bitowych

WIC udostępnia kilka interfejsów IWICBitmapSource, które przekształcają dane pikselowe. W szczególności WIC udostępnia przekształcenia źródła map bitowych na potrzeby skalowania, wycinania, obracania i odwracania danych pikseli. Tego rodzaju przekształcenia źródła map bitowych są IWICBitmapClipper, IWICBitmapScaleri IWICBitmapFlipRotator. Każde z tych źródeł map bitowych ma metodę inicjowania i tworzenia nowego przekształconego źródła mapy bitowej. Na przykład IWICBitmapClipper zawiera metodę Initialize. Ta metoda inicjuje źródło mapy bitowej clipper z przyciętymi danymi pikseli wejściowego źródła mapy bitowej w określonym WICRect.

W poniższych tematach z instrukcjami przedstawiono różne zastosowania źródeł transform bitowych.

Konwertery formatów pikseli i kontekstów kolorów

Funkcja WIC udostępnia również źródła map bitowych konwertujące format pikseli i kontekst koloru źródła mapy bitowej. WIC udostępnia IWICFormatConverter i IWICColorTransform dla tych operacji.

IWICFormatConverter konwertuje dane źródło mapy bitowej z jednego formatu pikseli na inny.

Przykład użycia IWICFormatConvertermożna znaleźć w temacie Jak rysować źródło mapy bitowej przy użyciu Direct2D.

Rysowanie źródeł map bitowych

WIC jest technologią kodeka dla obrazów nieruchomych i służy do zarządzania danymi i metadanymi obrazów, ale nie zapewnia w sposób naturalny możliwości renderowania obrazów. Źródła map bitowych można jednak narysować przy użyciu kilku technologii graficznych systemu Windows, takich jak Direct2D, Windows Graphics Device Interface (GDI) i Windows GDI+. Każda z tych technologii ma inny poziom współdziałania z usługą WIC. Funkcja Direct2D zapewnia bezpośrednie współdziałanie za pośrednictwem interfejsu ID2D1Bitmap oraz metody ID2D1RenderTarget::CreateBitmapFromWicBitmap, podczas gdy GDI i GDI+ wymagają od użytkowników kopiowania pikseli źródłowych mapy bitowej do map bitowych .

W poniższym przykładzie pokazano, jak rysować źródła map bitowych przy użyciu funkcji Direct2D.

Koncepcyjny

Składnik programu Windows Imaging — omówienie

Podsumowanie kodowania

Inne zasoby

Jak napisać WIC-Enabled CODEC