首页 > 编程知识 正文

procreate(实习报告总结)

时间:2023-05-05 22:58:16 阅读:63947 作者:730

通常,使用CreateCompatibleBitmap时使用CreateCompatibleDC。 相反,使用CreateCompatibleDC的目的不是为了CreateCompatibleBitmap。 CreateCompatibleBitmap是用于扩展内存设备环境的图像空间,为了构建内存设备环境,经常用作绘制操作和显示设备之间的缓冲区

CreateComptibleDC在mfc和sdk编程中的参数不同。 前者是CDC*,后者是hdc。 大多数绘图通常在sdk中为hdc,mfc为CDC*,但角色相同,这是为了创建与设备环境上下文兼容的内存设备环境。 (但是值得注意的是,这样制作的存储器设备环境的图像空间大小非常小,通常是1*1像素大小,而且是单色的,所以需要调用SelectObject函数来加载位图bitmap 然后,可以进行一系列绘制操作。

对于CreateCompatibleBitmap函数,这是为了创建与指定设备环境相关联的设备兼容的位图。 有时我觉得直接从资源加载位图资源就可以了,为什么要直接创建呢? 但是,有时需要直接操作画面,有时想避免闪烁等。 在这种情况下,可以创建内存DC,使用CreateCompatibleBitmap生成bitmap,然后内存DC使用SelectObject加载bitmap,从而在内存中提供一定大小的图像空间,然后单击这就像在内存直流中一样。当然,你也可以在内存缓冲区操作一张图像。 例如,缩放、透明等。 此外,还必须创建位图

另外,仅供参考:

33558 blog.csdn.net/hh ygcy/article/details/4073975这个写得很详细~

3358 fengqing 888.blog.163.com/blog/static/3301141620091019104353119 /这前半部分可以看,但后半部分确实没那么吸引人~

PS:

1、关于CreateCompatibleBitmap初始化颜色,试着实践一下。 画面上显示黑色

2 ) )在第二个链接中,使用CreateCompatibleBitmap函数创建的位图的颜色格式与由参数hdc标识的设备的颜色格式匹配。 可以为与原始设备兼容的任何内存设备环境选择位图。 因为内存设备环境允许彩色和单色两种位图。 因此,如果指定的设备环境是内存设备环境,则CreateCompatibleBitmap函数返回的位图格式不一定相同。 但是,为非内存设备环境创建的兼容位图通常具有相同的颜色格式,并使用与指定设备环境相同的调色板。 CreateCompatilbeBitmap参数提供的hdc可以是内存设备环境或物理设备环境。 如果选择hdc,则确定要创建的bitmap的颜色格式;如果选择内存环境,则它可以是单色颜色,也可以是彩色。 选择物理设备环境后,它将变为颜色。 其实第一个链接是讨论其中。 如果看不懂,可以直接浏览msdn:http://msdn.Microsoft.com/en-us/library/windows/desktop/DD 183488 (v=vs.85 )

具体例子如下。 我们可以使用

hdc hdc=getdc (空;

hdc hdc2=创建兼容的hdc (hdc;

hbitmap hbm=createcompatiblebitmap (hdc,400,400 );

选择对象(hdc 2、hBM ); 也可以按如下方式使用:

hdc hdc=getdc (空;

hdc hdc2=创建兼容的hdc (hdc;

hbitmap hbm=createcompatiblebitmap (hdc 2,400,400 );

选择对象(hdc 2、hBM ); 前者的代码的hdc2的颜色格式应该是彩色的,后者是单色的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。