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。 此方法不应用影响图像外观的调整,如伽玛或 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