ID2D1DeviceContext2::CreateImageSourceFromWic (IWICBitmapSource*,D2D1_IMAGE_SOURCE_LOADING_OPTIONS,D2D1_ALPHA_MODE,ID2D1ImageSourceFromWic**) 方法 (d2d1_3.h)

從 WIC 位圖來源建立影像來源對象,同時填入影像來源內的所有圖元記憶體。
映像會在使用最少的記憶體時載入並儲存。

語法

HRESULT CreateImageSourceFromWic(
  [in]  IWICBitmapSource                  *wicBitmapSource,
        D2D1_IMAGE_SOURCE_LOADING_OPTIONS loadingOptions,
        D2D1_ALPHA_MODE                   alphaMode,
  [out] ID2D1ImageSourceFromWic           **imageSource
);

參數

[in] wicBitmapSource

類型: IWICBitmapSource*

要從中建立影像來源的 WIC 位圖來源。

loadingOptions

類型: D2D1_IMAGE_SOURCE_LOADING_OPTIONS

建立映像來源的選項。 如果為 NULL,則會使用預設選項。

alphaMode

類型: D2D1_ALPHA_MODE

影像的 Alpha 模式;如果傳遞D2D1_ALPHA_MODE_UNKNOWN,就會從來源的圖元格式自動決定此值。

[out] imageSource

類型: ID2D1ImageSourceFromWic**

接收新的映像來源實例。

傳回值

類型: HRESULT

如果成功,S_OK否則為失敗的 HRESULT。

備註

此方法會建立可用來繪製影像的影像來源。

此方法支持超過紋理大小上限的影像。 大型影像會在內部儲存在疏鬆磚快取內。

此 API 支援 CreateBitmapFromWicBitmap 所支援的相同像素格式和 Alpha 模式。
如果 GPU 不支援指定的圖元格式,這個方法會傳回D2DERR_UNSUPPORTED_PIXEL_FORMAT。 這個方法不會套用會影響影像外觀的 gamma 或 alpha 預乘等調整。

alphaMode 參數不得設定為 D2D1_ALPHA_MODE_STRAIGHT。 如果 WIC 來源使用直接 Alpha 的圖元格式,除非將 alphaMode 參數設定為 D2D1_ALPHA_MODE_PREMULTIPLIED 或 D2D1_ALPHA_MODE_IGNORE 來覆寫 Alpha 模式,否則此方法會失敗。

如果來源的格式有 Alpha 色板,則必須傳遞D2D1_ALPHA_MODE_IGNORE。
如果傳遞D2D1_ALPHA_MODE_IGNORE且來源的格式具有Alpha色板,則會忽略Alpha色板。

此方法會自動選取適當的儲存格式,以將 GPU 記憶體使用量降到最低,例如使用 JPEG 影像的個別亮度和色度紋理。

如果loadingOptions自變數為 NULL,D2D 會使用 D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE。

規格需求

需求
最低支援的用戶端 Windows 10 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2016 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d2d1_3.h
Dll D2d1.dll

另請參閱

ID2D1DeviceContext2