社区
图形处理/算法
帖子详情
请问如何通过HBITMAP得到图片所有数据
Michael_ee
2013-01-05 08:36:55
项目要求拷贝屏幕的一部分, 并通过网络传输到服务端显示, 我已经可以拷贝屏幕后, 得到HBITMAP型数据, 再用CImage类,将其存为jpg文件, 再将jpg文件传到服务端显示了. 但是, 我想不生成中间的jpg文件, 直接由HBITMAP型变量转为一个数组数据, 将数组数据传到服务端后, 直接显示, 不如该如何做?
...全文
257
5
打赏
收藏
请问如何通过HBITMAP得到图片所有数据
项目要求拷贝屏幕的一部分, 并通过网络传输到服务端显示, 我已经可以拷贝屏幕后, 得到HBITMAP型数据, 再用CImage类,将其存为jpg文件, 再将jpg文件传到服务端显示了. 但是, 我想不生成中间的jpg文件, 直接由HBITMAP型变量转为一个数组数据, 将数组数据传到服务端后, 直接显示, 不如该如何做?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Michael_ee
2013-01-05
打赏
举报
回复
但是, 如果反复生成JPEG或GIF图片的话, 要对硬盘进行多次读写, 是否降低效率和损害硬盘?有无办法不用对硬盘读写, 只放在内存中, 然后生数组发出去?
傻X
2013-01-05
打赏
举报
回复
不建议使用该方法,原因就是位图的数据存储量还是太大了。JPEG和GIF还是最好的。
zgl7903
2013-01-05
打赏
举报
回复
GetBitmapBits GetDIBits
Michael_ee
2013-01-05
打赏
举报
回复
这也是一个办法, 只是算法比较复杂些!
wltg2001
2013-01-05
打赏
举报
回复
用GetDIBits是可以得到相关数据的,但是这种数据是基于位图的,数据量确实太大。另外一个想法是,你可以将屏幕分成若干块,比如分成8块,或是16块,只传发生变化的那一块的数据,这种处理方式数据量要少得多。
一个简单的CDIB类
bitmap
=m_Dib.Create
Bitmap
(pDC)//输入值为 CDC * ,一般可通过AfxGetApp()->GetMainWnd()->GetDC()获得 7)显示图象中的特殊信息 在处理过程中将图像中的特殊信息用251~255表示(对彩色图像,将R、G、B赋予251~...
CS
Bitmap
类,可用于储存DIB位图,也可用于储存二维数列,解决二维数列传递不方便的问题,效率比GDI的
bitmap
高
支持1,12,24,32位位图,对应适用于所有函数,相比于H
Bitmap
和CS
Bitmap
对象要简单,可直接操作
数据
区;同时可用于1,4,8,12,16,24,32位二维数列的储存,部分基本函数(GetPixel,SetPixel)支持; { public: CS
Bitmap
...
VB 做的相册(缩略图预览程序)
VB做的小型相册,实际上是一个
图片
浏览程序,打开时显示缩略图,鼠标点击显示大
图片
,并可接着浏览下去,程序相关说明: 函数功能: 该函数将指定位图的位拷贝到缓冲区里? 函数原型:LONG Get
Bitmap
Bits...
VC之美化界面篇本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础:
设定列表控件的背景
图片
。 CComboBoxEx::SetExtendedStyle CListCtrl::SetExtendedStyle CTabCtrl::SetExtendedStyle CToolBarCtrl::SetExtendedStyle DWORD SetExtendedStyle( DWORD dwExMask, DWORD ...
H
Bitmap
、
Bitmap
、C
Bitmap
之间的区别与联系
一、术语的定义及含义: HANDLE : 是DIB的文件句柄,是表示了设备无关位图在内存中的区域存储代号,该句柄值是整数....一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来...H
BITMAP
:
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章