CD2DBitmap 类

ID2D1Bitmap 的包装器。

语法

class CD2DBitmap : public CD2DResource;

成员

公共构造函数

名称 描述
CD2DBitmap::CD2DBitmap 已重载。 从 HBITMAP 构造 CD2DBitmap 对象。
CD2DBitmap::~CD2DBitmap 析构函数。 在销毁 D2D 位图对象时调用。

受保护构造函数

名称 描述
CD2DBitmap::CD2DBitmap 已重载。 构造 CD2DBitmap 对象。

公共方法

名称 描述
CD2DBitmap::Attach 将现有资源接口附加到对象
CD2DBitmap::CopyFromBitmap 将指定区域从指定的位图复制到当前位图
CD2DBitmap::CopyFromMemory 将指定区域从内存复制到当前位图
CD2DBitmap::CopyFromRenderTarget 将指定区域从指定的呈现目标复制到当前位图
CD2DBitmap::Create 创建 CD2DBitmap。 (替代 CD2DResource::Create。)
CD2DBitmap::Destroy 销毁 CD2DBitmap 对象。 (重写 CD2DResource::Destroy
CD2DBitmap::Detach 从对象中拆离资源接口
CD2DBitmap::Get 返回 ID2D1Bitmap 接口
CD2DBitmap::GetDPI 返回位图的每英寸点数 (DPI)
CD2DBitmap::GetPixelFormat 检索位图的像素格式和 alpha 模式
CD2DBitmap::GetPixelSize 返回位图的大小,按设备依赖单位(像素)计
CD2DBitmap::GetSize 返回位图的大小,以设备独立像素 (DIP) 为单位
CD2DBitmap::IsValid 检查资源的有效性(重写 CD2DResource::IsValid)。

受保护方法

名称 描述
CD2DBitmap::CommonInit 初始化对象

公共运算符

“属性” 描述
CD2DBitmap::operator ID2D1Bitmap* 返回 ID2D1Bitmap 接口

受保护的数据成员

名称 描述
CD2DBitmap::m_bAutoDestroyHBMP 如果应销毁 m_hBmpSrc,则为 TRUE;否则为 FALSE。
CD2DBitmap::m_hBmpSrc 源位图句柄。
CD2DBitmap::m_lpszType 资源类型。
CD2DBitmap::m_pBitmap 存储指向 ID2D1Bitmap 对象的指针。
CD2DBitmap::m_sizeDest 位图目标大小。
CD2DBitmap::m_strPath 位图文件路径。
CD2DBitmap::m_uiResID 位图资源 ID。

继承层次结构

CObject

CD2DResource

CD2DBitmap

要求

标头:afxrendertarget.h

CD2DBitmap::~CD2DBitmap

析构函数。 在销毁 D2D 位图对象时调用。

virtual ~CD2DBitmap();

CD2DBitmap::Attach

将现有资源接口附加到对象。

void Attach(ID2D1Bitmap* pResource);

参数

pResource
现有资源接口。 不能为 NULL。

CD2DBitmap::CD2DBitmap

从资源构造 CD2DBitmap 对象。

CD2DBitmap(
    CRenderTarget* pParentTarget,
    UINT uiResID,
    LPCTSTR lpszType = NULL,
    CD2DSizeU sizeDest = CD2DSizeU(0, 0),
    BOOL bAutoDestroy = TRUE);

CD2DBitmap(
    CRenderTarget* pParentTarget,
    LPCTSTR lpszPath,
    CD2DSizeU sizeDest = CD2DSizeU(0, 0),
    BOOL bAutoDestroy = TRUE);

CD2DBitmap(
    CRenderTarget* pParentTarget,
    HBITMAP hbmpSrc,
    CD2DSizeU sizeDest = CD2DSizeU(0, 0),
    BOOL bAutoDestroy = TRUE);

CD2DBitmap(
    CRenderTarget* pParentTarget,
    BOOL bAutoDestroy = TRUE);

参数

pParentTarget
指向渲染目标的指针。

uiResID
资源的资源 ID 号。

lpszType
指向包含资源类型的以 null 结尾的字符串的指针。

sizeDest
位图的目标大小。

bAutoDestroy
指示对象将由所有者 (pParentTarget) 销毁。

lpszPath
指向包含文件名的以 null 结尾的字符串的指针。

hbmpSrc
位图的句柄。

CD2DBitmap::CommonInit

初始化 对象。

void CommonInit();

CD2DBitmap::CopyFromBitmap

将指定区域从指定的位图复制到当前位图。

HRESULT CopyFromBitmap(
    const CD2DBitmap* pBitmap,
    const CD2DPointU* destPoint = NULL,
    const CD2DRectU* srcRect = NULL);

参数

pBitmap
要从中复制的位图。

destPoint
在当前位图中,指将 srcRect 指定的区域复制到的区域的左上角。

srcRect
要复制的位图区域。

返回值

如果该方法成功,则它会返回 S_OK。 否则,它将返回 HRESULT 错误代码。

CD2DBitmap::CopyFromMemory

将指定区域从内存复制到当前位图。

HRESULT CopyFromMemory(
    const void* srcData,
    UINT32 pitch,
    const CD2DRectU* destRect = NULL);

参数

srcData
要复制的数据。

pitch
存储在 srcData 中的源位图的跨度或间距。 跨度是扫描线的字节计数(内存中的一行像素)。 可按以下公式计算跨度:像素宽度 * 每像素字节数 + 内存填充。

destRect
在当前位图中,指将 srcRect 指定的区域复制到的区域的左上角。

返回值

如果该方法成功,则它会返回 S_OK。 否则,它将返回 HRESULT 错误代码。

CD2DBitmap::CopyFromRenderTarget

将指定区域从指定的呈现目标复制到当前位图。

HRESULT CopyFromRenderTarget(
    const CRenderTarget* pRenderTarget,
    const CD2DPointU* destPoint = NULL,
    const CD2DRectU* srcRect = NULL);

参数

pRenderTarget
包含要复制的区域的呈现目标。

destPoint
在当前位图中,指将 srcRect 指定的区域复制到的区域的左上角。

srcRect
要复制的 renderTarget 区域。

返回值

如果该方法成功,则它会返回 S_OK。 否则,它将返回 HRESULT 错误代码。

CD2DBitmap::Create

创建 CD2DBitmap。

virtual HRESULT Create(CRenderTarget* pRenderTarget);

参数

pRenderTarget
指向渲染目标的指针。

返回值

如果该方法成功,则它会返回 S_OK。 否则,它将返回 HRESULT 错误代码。

CD2DBitmap::Destroy

销毁 CD2DBitmap 对象。

virtual void Destroy();

CD2DBitmap::Detach

从对象中拆离资源接口。

ID2D1Bitmap* Detach();

返回值

指向拆离的资源接口的指针。

CD2DBitmap::Get

返回 ID2D1Bitmap 接口。

ID2D1Bitmap* Get();

返回值

指向 ID2D1Bitmap 接口的指针;如果对象尚未初始化,则为 NULL。

CD2DBitmap::GetDPI

返回位图的每英寸点数 (DPI)。

CD2DSizeF GetDPI() const;

返回值

位图的水平和垂直 DPI。

CD2DBitmap::GetPixelFormat

检索位图的像素格式和 alpha 模式

D2D1_PIXEL_FORMAT GetPixelFormat() const;

返回值

位图的像素格式和 alpha 模式。

CD2DBitmap::GetPixelSize

返回位图的大小,按设备依赖单位(像素)计。

CD2DSizeU GetPixelSize() const;

返回值

位图的大小(以像素为单位)。

CD2DBitmap::GetSize

返回位图的大小,以设备独立像素 (DIP) 为单位。

CD2DSizeF GetSize() const;

返回值

位图的大小(以 DIP 为单位)。

CD2DBitmap::IsValid

检查资源的有效性。

virtual BOOL IsValid() const;

返回值

如果资源有效,则为 TRUE;否则为 FALSE。

CD2DBitmap::m_bAutoDestroyHBMP

如果应销毁 m_hBmpSrc,则为 TRUE;否则为 FALSE。

BOOL m_bAutoDestroyHBMP;

CD2DBitmap::m_hBmpSrc

源位图句柄。

HBITMAP m_hBmpSrc;

CD2DBitmap::m_lpszType

资源类型。

LPCTSTR m_lpszType;

CD2DBitmap::m_pBitmap

存储指向 ID2D1Bitmap 对象的指针。

ID2D1Bitmap* m_pBitmap;

CD2DBitmap::m_sizeDest

位图目标大小。

CD2DSizeU m_sizeDest;

CD2DBitmap::m_strPath

位图文件路径。

CString m_strPath;

CD2DBitmap::m_uiResID

位图资源 ID。

UINT m_uiResID;

CD2DBitmap::operator ID2D1Bitmap*

返回 ID2D1Bitmap 接口

operator ID2D1Bitmap*();

返回值

指向 ID2D1Bitmap 接口的指针;如果对象尚未初始化,则为 NULL。

另请参阅