摘要:
int init_comm(){ char port_name[10]; dcb dcb; bool status; dword error_number; status = ok; memset(port_name,0,sizeof(port_name)); memcpy(port_name,"com1",4); handle_com = createfile(port_n......
摘要:
#include "stdafx.h"#include "stdio.h"#include "string.h"#include "mstcpip.h"#include "winsock2.h"#pragma comment(lib,"ws2_32.lib")#define s......
VC中使用GDI函数实现位图的透明
本文介绍两种用gdi函数实现绘制位图时只绘制除指定颜色外的部分,达到“透明”的效果的方法:
1. 用bitblt实现位图上某种颜色的透明显示
【程序编程相关:ADO VC++ Extensions使】
【推荐阅读:
VC++对话框的任意扩展】2. 用maskblt实现位图上某种颜色的透明显示
【扩展信息:Using ADO from C++】
为方便起见,用mfc方式讨论.先有如下的定义:
cdc *pdc; // 目标dc,假设已create,位图已选入
cdc *pactivedc; // 装载位图的dc.假设已create,位图已选入
cdc *pmaskdc; // 装有掩码位图的dc
cbitmap bmpmask; // maskdc上使用的位图
colorref crtrans; // pactivedc上需要被透明处理的颜色
crect crclient; // pdc的大小.假设已获得
这样,直观的说,本文讨论的目标就是,把pactivedc绘制到pdc上的时候,不绘制跟crtrans相同的颜色的部分.
1. 用bitblt api进行透明显示的步骤:
...
下一页 摘要:
a ^ b a|| b a & b a b 1 1 0 1 0 0 1 1 1 10 0 0 0 01 1 0 0 1101000001~101000001 结果 010111110正数符号位是0,负数符号位是1左移一位 可以等价 x2右移一位 可以等价 /2正数来说,最高位是0,其余各位代表数值本身的二进制数; 对于负数来说,把该数的绝对值的补码按位取反,然后对整个数+1,取......