| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4030 人关注过本帖, 3 人收藏
标题:连连看游戏 以及 (读取并显示位图),(截屏)头文件
只看楼主 加入收藏
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
收藏
得分:0 
[bo][un]flyue[/un] 在 2008-8-29 09:34 的发言:[/bo]

感觉你发的ScreenShot根本没有24色,最多16色
哎,用Win32的GDI不是很好吗,干吗要用TC来做图形程序
在GDI中有直接的API函数BitBlt供你调用,何必自己写呢?
文件夹里面的CELLS.bmp是24色没错,但是一到程序里就变 ...


你说的没错,我们使用windos的API或者mfc其实很方便,或者使用的gdi+设计的就更加面向对象了。这些会用起来比较方便。

我这个文件的意义就在于,由于tc下是不具有使用图片资源来辅助一些游戏之类的习惯和思维的,因为tc并不支持。
用直接写显存来加载真彩色位图的c程序我也看过了,但是这样的程序仅适合显示位图,不适合在游戏或者一些需要
较高效率的刷新的地方使用。因为你进入的是一种显示模式,在这里只能操作像素,而离开了所有绘图函数的支持,
除非有人自己再开发出来这样多的功能足够的库,当然已经有人这样做了。

所以这样就给大家带来一种选择,可以使用位图来增色游戏的感觉。包括我这个想法也是很久前的一个偶然的冒出来的点子,
那时候我正在研究图标格式,我想既然位图格式我已经全都知道了,那么我当然能够在tc下面的16色来拟合每个像素,
这样就在tc下面能够显示位图。所以这个头文件的前身也就是我那时候的写的一个尝试。

当然在vc下面我们有很多方法来做这件事。
比如说LoadBitmap只能从HINSTANCE里面加载图片资源,但没办法从文件加载。
而LoadImage可以从文件加载位图,并拿到一个HBITMAP句柄了。但是它属于微软的API,所以它只支持BMP格式的文件。怎么不能读取jpg格式呀,没办法啊,jpg不是他家的规范啊。是什么那个jpeg的什么图形工作组定的。

那么要加载非BMP的其他格式怎么办,操作系统里带了一个DLL,里面带了一个CImage类,能够读取BMP以外格式的图片。这个类的用法还是非常方便的,值得推荐。
另一种方法就是用COM , query出来一个IPicture对象,然后通过它读取文件和绘图。也是可行的。

另外一点是我这里也显示了微软用HANDLE来封装数据的惯例。

[[it] 本帖最后由 hoodlum1980 于 2008-8-29 10:36 编辑 [/it]]
2008-08-29 10:21
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
收藏
得分:0 
我更新了一下,并且把VGAEGA的驱动链接到EXE中了。
获取当前路径只需要调用dir.h中的getcwd就可以了。

据我目测,这个函数应该是get current working directory 缩写而成。
    
#include <dir.h>

char filename[256];
getcwd(filename, sizeof(filename));
strcat(filename, "\\CELLS12.bmp");
这样我们就得到了当前目录下的CELLS12.bmp的路径。

[[it] 本帖最后由 hoodlum1980 于 2008-9-12 11:43 编辑 [/it]]
2008-09-11 12:29
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
甚至已经很久不用Windows了……

现在用OpenGL和glib还有GTK,很快乐。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-11 23:59
yeguohua55
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-8-29
收藏
得分:0 
刚学C,看不懂这么深的东东,但支持楼主
2008-09-12 10:18
leilong
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-9-3
收藏
得分:0 
hoodlum1980,分析的真是太精辟了,希望 你写更多你的 好文章。
2008-09-14 22:35
mechess
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-4-9
收藏
得分:0 
水平确实牛比。
2012-04-09 19:32
快速回复:连连看游戏 以及 (读取并显示位图),(截屏)头文件
数据加载中...
 
   



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

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