游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2067|回复: 4

如何用DX截取屏幕的指定区块,并保存为24位BMP?

[复制链接]

16

主题

42

帖子

42

积分

注册会员

Rank: 2

积分
42
发表于 2007-10-18 16:25:00 | 显示全部楼层 |阅读模式
如何用DX截取屏幕的指定区块,并保存为24位BMP?
DX新手,
看了下
抓屏的各种方法  

知道怎么用DX截屏了,但是想截取部分屏幕,怎么办呢?
[em21] [em21] [em21] [em21]

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2007-10-18 17:00:00 | 显示全部楼层

Re:如何用DX截取屏幕的指定区块,并保存为24位BMP?

自己把抓到的屏幕用 copy到一个图片上在拷贝图片就好。StretchRect() 这个D3D函数可以帮助你

16

主题

42

帖子

42

积分

注册会员

Rank: 2

积分
42
 楼主| 发表于 2007-10-19 01:25:00 | 显示全部楼层

Re:如何用DX截取屏幕的指定区块,并保存为24位BMP?

copy到一个图片
?怎么做啊,不会要存在硬盘上吧,我截取部分就是想截取快点,不保存全部。

3

主题

32

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2007-10-19 13:36:00 | 显示全部楼层

Re:如何用DX截取屏幕的指定区块,并保存为24位BMP?

锁定主显示表面
判断主显示表面像素格式,并且取得宽度pitch等等在位图文件头和信息头中需要的信息
如果需要的话,循环把每个像素转换成24位格式,把像素上下颠倒

创建一个二进制文件
根据主显示表面的相关信息
写入BITMAPFILEHEADER
写入BITMAPINFOHEADER
写入24位的像素

主显示表面解锁

完成

16

主题

42

帖子

42

积分

注册会员

Rank: 2

积分
42
 楼主| 发表于 2007-10-23 00:28:00 | 显示全部楼层

Re:如何用DX截取屏幕的指定区块,并保存为24位BMP?

想看现成的代码。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-16 04:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表