共用方式為


點陣圖來源概觀

本主題介紹點陣圖來源,這是代表影像點陣圖圖元的核心 Windows 影像處理元件 (WIC) 元件。

本主題包含下列各節。

點陣圖來源

IWICBitmapSource 元件是 WIC的基本建置組塊,代表一組圖元。 點陣圖來源可以是多框架影像的個別框架,也可以是點陣圖來源上執行的轉換結果。 IWICBitmapSource介面是許多主要 WIC 介面的基礎,例如解碼器框架IWICBitmapFrameDecode,以及轉換點陣圖來源,例如IWICBitmapFlipRotator

下表描述 WIC 所提供的不同點陣圖來源元件。

點陣圖來源 描述
IWICBitmapFrameDecode 表示解碼器影像框架。
IWICBitmap 提供點陣圖來源的可寫入性和記憶體內部表示。
IWICBitmapClipper 將點陣圖來源裁剪為所需的矩形。
IWICBitmapFlipRotator 翻轉和/或將點陣圖來源旋轉至所需的方向。
IWICBitmapScaler 將點陣圖來源調整為所需的大小。
IWICColorTransform 轉換點陣圖來源的色彩內容。
IWICFormatConverter 轉換點陣圖來源的像素格式。

 

點陣圖框架

最常見的 IWICBitmapSourceIWICBitmapFrameDecode。 這個介面可用來存取影像格式的實際點陣圖資料。 許多影像格式僅支援單一點陣圖框架,而 GIF 和 TIFF 等其他格式則支援每個影像的多個畫面格。

如需從影像取得點陣圖框架的範例,請參閱 如何擷取影像的畫面 主題。

點陣圖

IWICBitmap會將可寫入性和靜態記憶體中的概念新增至點陣圖來源。 WIC 點陣圖可讓使用者直接存取點陣圖來源的圖元。 此直接存取是由 Lock 方法提供,並支援點陣圖圖元的讀取和/或寫入存取的任何組合。 Lock 方法會鎖定指定的點陣圖矩形,並提供 IWICBitmapLock 物件來存取圖元。

如需使用 IWICBitmapIWICBitmapLock 物件的範例,請參閱 如何修改點陣圖來源的圖元 主題。

轉換點陣圖來源

WIC 提供數個 IWICBitmapSource 介面來轉換圖元資料。 具體而言,WIC 會提供點陣圖來源轉換來縮放、裁剪、旋轉和翻轉圖元資料。 這些點陣圖來源轉換是 IWICBitmapClipperIWICBitmapScalerIWICBitmapFlipRotator。 這些點陣圖來源都有一個方法,可初始化並建立新的已轉換點陣圖來源。 例如, IWICBitmapClipper 包含 Initialize 方法。 這個方法會使用指定 WICRect上輸入點陣圖來源的裁剪圖元資料,初始化 clipper 點陣圖來源。

下列操作說明主題示範轉換點陣圖來源的不同用法。

像素格式和色彩內容轉換器

WIC 也提供點陣圖來源,轉換點陣圖來源的像素格式和色彩內容。 WIC 為這些作業提供 IWICFormatConverterIWICColorTransform

IWICFormatConverter 會將指定的點陣圖來源從一個像素格式轉換成另一個像素格式。

如需使用 IWICFormatConverter的範例,請參閱 如何使用 Direct2D 繪製點陣圖來源 主題。

繪製點陣圖來源

WIC 仍然是影像編解碼器技術,用來管理影像資料和中繼資料,而且原本不會提供轉譯影像的方式。 不過,您可以使用數種 Windows 圖形技術來繪製點陣圖來源,例如 Direct2D、Windows Graphics Device Interface (GDI) ,以及 Windows GDI+。 這些技術各有不同的 WIC 互通性層級。 Direct2D 透過 ID2D1Bitmap介面和ID2D1RenderTarget::CreateBitmapFromWicBitmap方法提供直接互通性,而 GDI 和 GDI+ 則要求使用者將點陣圖來源圖元複製到點陣圖中。

下列範例示範如何使用 Direct2D 繪製點陣圖來源。

概念

Windows 映像處理元件概觀

編碼概觀

其他資源

如何撰寫WIC-Enabled CODEC