HBitmap怎么通过Socket发送,不通过位图文件。 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CBitmap bitmap = CBitmap::FromHandle(hBitmap);//首先发送位图的bitsbyte* pBits = new byte[1024*1024*10];//分配10MB内存,根据你自己位图的大小DWORD actualSize = bitmap.GetBitmapBits(1024*1024*10, pBits);//将位图拷贝到buffer中,返回值是实际大小send(hSocket, pBits, actualSize,0);//调用send函数发送位图数据,这句代码看做伪代码,实际上要判断send的返回值,循环发送actualSize大小的数据,过大的数据一次无法发送完。delete []pBits;//发送完后释放内存//然后发送位图的长宽等BITMAP map;bitmap.GetBitmap(&map);//获取BITMAP结构send(hSocket,(char*)&map, sizeof(BITMAP));//==========================接收到之后byte *pBits = (byte*)pRecvBuf;//第一次接收到的bitsBITMAP *pMap = (BITMAP*)pRecvBuf;//第二次接收到的BITMAP结构pMap->bmBits = pBits;//将bits信息赋予BITMAP结构CBitmap bitmap;bitmap.CreateBitmapIndirect(pMap);//由BITMAP结构创建位图HBITMAP hBitmap = (HBITMAP)bitmap;//HBITMAP运算符获取到句柄 GetDIBits 获取位图的指针将位图指针的内容发送到WinSock中 如果不是在显示设备上,则用GetObject获取 VS2010 VC++ 实现声音文件播放 一个关于moveto lineto 和 drawline 的基础问题, 大家讨论看看 怎样实现象QQ聊天框最小化后,当有新消息到来时,任务栏的窗口一闪一闪的效果? 获不到进程的HWND 可见数字水印 来看看 ◎◎◎◎◎◎◎◎请问哪里有技术翻译文档◎◎◎◎◎◎◎◎ 谈谈你对编程的看法???(来者有分) 将头文件(.h)做成动态链接库文件(.dll),需要注意那些问题? 大家都是编程的吵什么吵。(VB VS VC) 100分请帮我,我用MFC写的ActiveX控件怎么注册呢? 摄像机平移量与图像中像素量
byte* pBits = new byte[1024*1024*10];//分配10MB内存,根据你自己位图的大小
DWORD actualSize = bitmap.GetBitmapBits(1024*1024*10, pBits);//将位图拷贝到buffer中,返回值是实际大小
send(hSocket, pBits, actualSize,0);//调用send函数发送位图数据,这句代码看做伪代码,实际上要判断send的返回值,循环发送actualSize大小的数据,过大的数据一次无法发送完。
delete []pBits;//发送完后释放内存//然后发送位图的长宽等
BITMAP map;
bitmap.GetBitmap(&map);//获取BITMAP结构
send(hSocket,(char*)&map, sizeof(BITMAP));//==========================接收到之后
byte *pBits = (byte*)pRecvBuf;//第一次接收到的bits
BITMAP *pMap = (BITMAP*)pRecvBuf;//第二次接收到的BITMAP结构
pMap->bmBits = pBits;//将bits信息赋予BITMAP结构
CBitmap bitmap;
bitmap.CreateBitmapIndirect(pMap);//由BITMAP结构创建位图
HBITMAP hBitmap = (HBITMAP)bitmap;//HBITMAP运算符获取到句柄
将位图指针的内容发送到WinSock中