| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2934 人关注过本帖
标题:现场直憋:从零开始学习 使用win32汇编写一个屏幕截图 截屏 小程序 长期更新 ...
只看楼主 加入收藏
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:0 
相关函数(随时补充):

int SetDIBitsToDevice(
  HDC hdc,                 // handle to DC
  int XDest,               // x-coord of destination upper-left corner
  int YDest,               // y-coord of destination upper-left corner
  DWORD dwWidth,           // source rectangle width
  DWORD dwHeight,          // source rectangle height
  int XSrc,                // x-coord of source lower-left corner
  int YSrc,                // y-coord of source lower-left corner
  UINT uStartScan,         // first scan line in array
  UINT cScanLines,         // number of scan lines
  CONST VOID *lpvBits,     // array of DIB bits
  CONST BITMAPINFO *lpbmi, // bitmap information
  UINT fuColorUse          // RGB or palette indexes
);


函数功能:该函数使用DIB位图和颜色数据对与目标设备环境相关的设备上的指定矩形中的像素进行设置。
lpvBits:指向存储DIB颜色数据的字节类型数组的指针。
lpbmi:指向BITMAPINFO结构的指针,该结构包含有关DIB的信息。
fuColorUse:DIB_PAL_COLORS表示颜色表由16位的索引值数组组成,利用这些值可对当前
                          选中的逻辑调色板进行索引。   
            DIB_RGB_COLORS表示颜色表包含原义的RGB值。

HBITMAP CreateDIBSection(
  HDC hdc,                 // handle to DC
  CONST BITMAPINFO *pbmi,  // bitmap data
  UINT iUsage,             // data type indicator
  VOID **ppvBits,          // bit values
  HANDLE hSection,         // handle to file mapping object
  DWORD dwOffset           // offset to bitmap bit values
);

函数功能:该函数创建应用程序可以直接写入的、与设备无关的位图(DIB)。该函数提供一个指针,该指针指向位图位数据值的地方。可以给文件映射对象提供句柄,函数使用文件映射对象来创建位图,或者让系统为位图分配内存。

hdc:设备环境句柄。如果iUsage的值是DIB_PAL_COLORS,那么函数使用该设备环境的逻辑调色板对与设备无关位图的颜色进行初始化。
pbmi:指向BITMAPINFO结构的指针,该结构指定了与设备无关位图的各种属性,其中包括位图的维数和颜色。
iUsage:指定由pbmi参数指定的BITMAPINFO结构中的成员bmiColors数组包含的数据类型(要么是逻辑调色板索引值,要么是原文的RGB值)。
ppvBits:指向一个变量的指针,该变量接收一个指向DIB位数据值的指针。
hSection:文件映射对象的句柄。函数将使用该对象来创建DIB(与设备无关位图)。该参数可以是NULL。

2012-10-13 12:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
BMP本身都有很多种不同的格式编码,何况还有很多不是BMP的图像格式,你这样逐个弄,弄得完吗?

授人以渔,不授人以鱼。
2012-10-13 12:36
newdos
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:6
帖 子:251
专家分:1169
注 册:2012-8-13
收藏
得分:0 
读你千遍也不厌倦。。。。。呵呵,恭喜楼主的第一步。
GetDesktopWindow也可以获得桌面句柄。
单色BMP, 256色BMP, 真彩色的BMP,行程压缩的bmp,要分清BMP中的各种格式,够你喝一壶了。

[ 本帖最后由 newdos 于 2012-10-13 12:43 编辑 ]
2012-10-13 12:42
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:0 
以下是引用TonyDeng在2012-10-13 12:36:22的发言:

BMP本身都有很多种不同的格式编码,何况还有很多不是BMP的图像格式,你这样逐个弄,弄得完吗?
bmp是windows直接支持的标准图片格式,很多情况下首选也是唯一的选择就是用bmp,理解文件结构,能根据需要自己构造一个bmp,这个应该是基本要求。
写屏幕截图,最重要的就是生成BMP。
2012-10-13 13:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
嘿嘿

授人以渔,不授人以鱼。
2012-10-13 13:53
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
来 网 吧 帮 楼 主 顶 贴

梅尚程荀
马谭杨奚







                                                       
2012-10-13 14:05
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
回复 16楼 有容就大
现在是不是网吧生意越来越不好了吧

The quieter you become, the more you can hear
2012-10-13 14:07
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用madfrogme在2012-10-13 14:07:56的发言:

现在是不是网吧生意越来越不好了吧
NO 星期六 N多小学生初中生来排队。。。
而且要求双座连 三座连 ,,,

梅尚程荀
马谭杨奚







                                                       
2012-10-13 14:10
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
回复 18楼 有容就大
人家好不容易星期天上个网,你还要过去和人家抢位置

The quieter you become, the more you can hear
2012-10-13 14:15
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 19楼 madfrogme
虽然是小学生 。。。但是人多势众。

梅尚程荀
马谭杨奚







                                                       
2012-10-13 14:27
快速回复:现场直憋:从零开始学习 使用win32汇编写一个屏幕截图 截屏 小程序 长 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017472 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved