CDC::BitBlt用法

StretchBlt()、Bitblt用法详解 BitBlt函数功能:把像素从一个设备环境(源)的矩形区域,传输到另一个设备环境(目标)中的一个同样大小的矩形区域。再使用OR运算符将该操作结果与目标矩形组合。前面四个参数也是和目标矩形(也即是我们的图像控件区域)相关的,如果是图像控件的话,起点坐标也是(0,0),终点坐标就是矩形区的宽度和高度;· SRCERASE 反转目标矩形的颜色,再使用AND运算符将该结果与源位图组合。· MERGEPAINT 使用OR运算符组合源位图的反色与目标矩形的颜色。 阅读详情

CDC::BitBlt用法

功能说明:

      Bitblt作用将某一内存块的数据传送到另一内存块,前一内存块被称为 "源 ",后一内存块被称为 "目标 "图象程序开发者使用Blit的函数在内存中将某页面上的一幅位图经过一定的变换转移到另一个页面上

 

定义:

BOOL BitBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
DWORD dwRop
);

参数:
hDestDC   As   Long,   //目标设备环境的句柄
x   As   Long,   //目标设备环境的矩形区域的左上角的x坐标
y   As   Long,   //目标设备环境的矩形区域的左上角的y坐标
nWidth   As   Long,   //目标设备环境的矩形区域的宽度值
nHeight   As   Long,   //目标设备环境的矩形区域的高度值
hSrcDC   As   Long,   //源设备环境的句柄
xSrc   As   Long,   //源设备环境的矩形区域的左上角的x坐标
ySrc   As   Long,   //源设备环境的矩形区域的左上角的y坐标
dwRop   As   Long,   //光栅操作符

参数说明:
dwRop参数是光栅操作代码(Rop),它是指源位图与目标位图以及图案刷的颜色值进行布尔运算的方式,以下列出了常用的光栅操作码及含义
BLACKNESS   用黑色填充目标矩形区域.
DSTINVERT   将目标矩形图象进行反相.  
MERGECOPY   将源矩形图象与指定的图案刷(Pattern)进行布尔 "与 "运算.  
MERGEPAINT   将源矩形图形经过反相后,与目标矩形图象进行布尔 "或 "运算.
NOTSRCCOPY   将源矩形图象经过反相后,复制到目标矩形上.
NOTSRCERASE   先将源矩形图象与目标矩形图象进行布尔 "或 "运算,然后再将得图象进行反相.
PATCOPY   将指定的图案刷复制到目标矩形上.
PATINVERT   将指定的图案刷与目标矩形图象进行布尔 "异或 "运算.
PATPAINT   先将源矩形图象进行反相,与指定的图案刷进行布尔 "或 "运算,再与目标矩形图象进行布尔 "或 "运算SRCAND   将源矩形图象与目标矩形图象进行布尔 "与 "运算.
SRCCOPY   将源矩形图象直接复制到目标矩形上.
SRCERASE   将目标矩形图象进行反相,再与源矩形图象进行布尔 "与 "运算.
SRCINVERT   将源矩形图象与目标矩形图象进行布尔 "异或 "运算.
SRCPAINT   将源矩形图象与目标矩形图象进行布尔 "或 "运算.
WHITENESS   用白色填充目标矩形区域.


实例:
void CMainDlg::DrawToolPhotoButton(CDC &dc)
{
CDC memDC ;
memDC.CreateCompatibleDC ( &dc ) ;

CBitmap* pBitmap ; //load all bitmap
CBitmap* pOldBitmap ; //save old bitmap temp

//.............................................................
//分配bitmap对象内存
pBitmap = new CBitmap ;


pBitmap ->LoadBitmap ( IDB_GPS_B ) ;
pOldBitmap = memDC.SelectObject ( pBitmap ) ;

//将图片COPY到指定的像素位置
dc.BitBlt ( 111,111, 111, 111, &memDC, 0, 0, SRCCOPY ) ;

memDC.SelectObject ( pOldBitmap ) ;

//释放bitmap对象内存
delete pBitmap ;
}

LeGO-LOAM相对LOAM的改进---地面分离的方法-算法原理+代码讲解 实际上此种地⾯分离算法有⼀些简单,我们可以结合激光雷达安装⾼度等其他先验信息进⾏优化,避免将桌子这些当作地面点。LeGO-LOAM中前端改进中很重要的⼀点就是充分利⽤了地⾯点,那⾸先⾃然是提取对地⾯点的提取。理想情况下, 应该接近0,考虑到⼀⽅⾯激光雷达安装也⽆法做到绝对⽔平,另⼀⽅⾯,地⾯也不是绝。对⽔平,因此,这个⾓度会略微⼤于0,考虑到作者实际在草坪之类的场景下运动,因此这个值被设置成。如上图,相邻的两个扫描线束的同⼀列打在地⾯上如AB点所⽰,他们的垂直⾼度差。,计算垂直⾼度差和⽔平⾼度差的⾓度。.. 阅读详情

相关推荐

​​瑞芯微RK系列 vs 全志系列芯片:终极选型指南(2025版)​

​。

jinxi996611的博客 1万+

CDC之CreateCompatibleDC与BitBlt

CreateCompatibleDC   of the compatible device. When a memory device context is created, GDI automatically selects a 1-by-1 monochrome stock bitmap for it. GDI output functions can be used with a m

汪小哥 1281

基于PSO-BP神经网络的风电功率预测研究论文复现

风电功率预测。基于PSO-BP神经网络的风电功率预测论文复现。matlab程序,注释清晰。

weixin_825487230的博客 2295

CDC\HDC绘图从专家到小白

CDC绘图

Rainbow 2920

【移远EG800K-CN】从AT指令到MQTT实战:4G模块云端通信全解析

本文详细解析移远EG800K-CN 4G模块的AT指令应用与MQTT云端通信实战。从硬件连接到网络配置,再到MQTT协议的数据上报与命令接收,提供了完整的物联网通信解决方案,帮助开发者快速实现设备与云端的稳定数据交互。

o1p2q3r的博客 560

W5500 MACRAW模式实战:在ESP32上抓取并解析原始以太网数据包

本文详细介绍了如何在ESP32开发板上使用W5500芯片的MACRAW模式捕获和解析原始以太网数据包。通过硬件连接指南、代码实现示例和协议解析技巧,帮助开发者深入理解网络通信底层机制,实现网络嗅探和自定义协议开发等高级应用。

weixin_42520573的博客 418

CDC与HDC中StretchBlt()和BitBlt()函数用法

CDC中 //////////////////////////////////////////////////// CDC->StretchBlt(int x,int y,int nWidth,int nHeight,CDC *pSrcDC, int xSrc, int yS

MOKA 1356

大模型量化技术全解析:从INT8到GPTQ/AWQ,降低部署成本实战指南

模型量化是一种通过降低神经网络权重和激活值的数据精度(如从FP16降至INT8/INT4),从而大幅减少模型内存占用和计算开销的核心模型压缩技术。其原理基于线性变换,将高精度浮点数映射到低精度整数表示,在硬件层面能利用专用低精度计算单元实现显著加速。这项技术的核心价值在于解决了大模型(如千亿参数LLM)部署时面临的高昂显存成本和推理延迟问题,使其能在消费级GPU和边缘设备上高效运行。当前,后训练量化(PTQ)因其无需重新训练的特性成为主流,衍生出GPTQ、AWQ、SmoothQuant等多种方法,广泛应用于

weixin_33804582的博客 631

BitBlt用法

在VC中显示位图常用取BitBlt()方法,它是将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。虽然此方法的功能是这样的,但是我一直没有理解网上一些例子代码,不知道其用到的各DC和位图如何得到,及它们之间的关系。今天工作中要将一些位图显示到窗口中,所以重要学习了一下。我已经将要用的位图导入到工程资源中,所以我可以用:        CBitmap cbmp;        cbm

cnrandy 的专栏 2万+

图解链表 —— JAVA中的单链表基本操作

文章目录1. 什么是链表2. 链表的种类3. 创建单链表3.1 创建 Node 类(车厢类)3.2 创建 MySingleList (火车类)4. 单链表的基本操作4.1 增加链表元素4.1.1 在链表头部添加元素4.1.2 在链表任意位置添加元素4.1.3 在链表尾部添加元素4.2 删除链表元素4.2.1 删除第一个节点元素4.2.2 删除任意位置 index 元素4.2.3 删除链表中指定元素的第一个节点4.2.4 删除链表的所有指定元素4.3 查找链表元素4.3.1 判断链表中是否包含元素 data4

AlinaQ05的博客 2502

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设

实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设

机器学习深度学习业余选手 479

MFC函数之BitBlt

// Cgame123View 绘制 void Cgame123View::OnDraw(CDC* pDC) { Cgame123Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 CRect Rect; GetClientRect(&Rect);

紫云的博客 1万+

MicroCap声学仿真介绍(二)-创建声学仿真元件

声学库里包含孔、管、障板辐射器等器件,我们只需要按照仿真的需求,将声学库里的器件排列好,输入参数,用线连接起来即可。这里我们用D指代孔的直径,L指代孔的长度,N代表孔的数量。26.在弹出的界面中做如下设置:需要先在右面的选框里找到对应的项,然后右键Add Part,再之后就如下设置。3.在弹出的界面中,选择“Macro file(.mac)”,并点击右上角的“OK”下面就以声学仿真中常见的“孔”来做示例,跟大家一块演示一下宏程序的新建。10.在上图中“Value”中填入“R”,然后点击左边的“OK”按钮;

山无忧的博客 2200

BitBlt 和 stretchBitblt

CDC::BitBltBOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );返回值:函数成功,返回非零值,否则为0。参数: x 指定目标矩形左上角的逻辑x坐标。 y 指定目标矩形左上角的逻辑y坐标。 nWidth 指

青青的专栏--C/C++ OOA/D Design Pattern 2642

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

BitBlt函数的用法和一个小实例

BitBlt 用于从原设备中复制位图到目标设备,语法格式如下: BOOLBitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop); 【机器博弈中的用途】:把一枚棋子画在棋盘上

卢超群的实验室 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【GDI】BitBlt()函数用法

在VC中显示位图常用BitBlt()函数,它是将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。虽然此方法的功能是这样的,但是我一直没有理解网上一些例子代码,不知道其用到的各DC和位图如何得到及它们之间的关系。 今天工作中要将一些位图显示到窗口中,所以重要学习了一下。 我已经将要用的位图导入到工程资源中,所以我可以用: CBitmap cbmp; cbmp.LoadBi...

sunriver2000的专栏 2459

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

VC中BitBlt用法用法

MSDN中该函数的定义如下:  CDC::BitBlt  BOOL BitBlt(int x, int y, intnWidth, int nHeight, CDC*pSrcDC, int xSrc, intySrc, DWORD dwRop ); 如果最后一个参数是SRCCOPY(Copies the source bitmap tothe destinationbitmap)大概功

net_assassin的专栏 6528

BitBlt用法(显示图片)

BitBlt原型 BOOL BitBlt(                       HDC hdcDest,        指向目标设备环境的句柄。                       int nXDest,              指定目标矩形区域左上角的X轴逻辑坐标。                       int nYDest,              指定目标矩

3711

BitBlt函数用法

BitBlt函数用法   2010-03-05 10:25:51|  分类: VC学习|举报|字号 订阅        下载LOFTER我的照片书  | (一) BOOL BitBlt( int x, int y, int nWidth, int nHe

u010260681的博客 6505

bitblt()用法

bitblt()用法 在VC中显示位图常用取BitBlt()方法,它是将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。 虽然此方法的功能是这样的,但是我一直没有理解网上一些例子代码,不知道其用到的各DC和位图如何得到,及它们之间的关系。 今天工作中要将一些位图显示到窗口中,所以重要学习了一下。 我已经将要用的位图导入到工程资源中,所以我可以用:         CB

yanggaoqiang2012的专栏 472

BitBlt()用法

在VC中显示位图常用取BitBlt()方法,它是将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。 虽然此方法的功能是这样的,但是我一直没有理解网上一些例子代码,不知道其用到的各DC和位图如何得到,及它们之间的关系。 今天工作中要将一些位图显示到窗口中,所以重要学习了一下。 我已经将要用的位图导入到工程资源中,所以我可以用:         CBitmap cbmp;  

德固的博客 1万+

bitblt函数的注意事项

在windows的bitblt函数主要是用于windows贴图操作,也就是将一个设备上的一般是内存设备函数贴图到真实的设备上啊 在此处又注意到的是bitblt函数却存在两种形式 1,这是在cdc函数类中的一个成员函数 下面是来自百度百科的一段介绍 CDC类定义的是设备上下文对象的类。 CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区

zhouyelihua 4778
上一篇: memset用法详解(转)
下一篇: ExtTextOut() 代替 TextOut() 以提高性能
sibling520
博客等级 码龄18年 47粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值