如何从 CRect 中的数据创建 CBitmap 对象?

Posted

技术标签:

【中文标题】如何从 CRect 中的数据创建 CBitmap 对象?【英文标题】:How to create a CBitmap object from the data within a CRect? 【发布时间】:2012-12-02 12:53:05 【问题描述】:

无论如何如何在 CRect 中获取数据?

有 API 吗?

如果我能得到相应的DC,那么我可以这样做:

memDC.CreateCompatibleDC(pRectDC);
memDC.SelectObject(pBm);
memDC.BitBlt(rect.left, rect.top, rect.Width(), rect.Height(), pRectDC, rect.left, rect.top, SRCCOPY);

但是,我不知道如何获得 DC。

有人可以帮助我吗?

【问题讨论】:

【参考方案1】:

CRect 没有 DC - 它是矩形的抽象表示。在您正在使用的窗口上使用 GetDC() 来获取 DC。

CRect 中还没有任何数据 - 它只是一对 4 long 存储角的 X 和 Y 坐标。只有当你使用 CDC 的 DrawRect() 时,CRect 中的数据才用于在 DC 的位图上设置一些值。

【讨论】:

以上是关于如何从 CRect 中的数据创建 CBitmap 对象?的主要内容,如果未能解决你的问题,请参考以下文章

从 CDC 创建 CBitmap?

MFC中的CRect

如何制作一个 CRect 对象数组?

请教CDC,CBitmap创建兼容DC的用法

如何将 jpg 文件加载到 CBitmap (visual c++ 6.0) 中?

如何在 CBitmap 上使用具有透明背景的 CDC 绘制文本?