游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2103|回复: 6

一个读取位图的问题!

[复制链接]

15

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2006-1-7 19:29:00 | 显示全部楼层 |阅读模式
如题!

typedef struct BITMAP_FILE_TAG
        {
        BITMAPFILEHEADER bitmapfileheader;  
        BITMAPINFOHEADER bitmapinfoheader;  
        UCHAR            *buffer;         
        } BITMAP_FILE, *BITMAP_FILE_PTR;

BITMAP_FILE           bitmap;

fstream file(filename, ios::in | ios::binary);

// 读取bitmapfileheader
file.read((char*)&bitmap->bitmapfileheader ,sizeof(BITMAPFILEHEADER));

 // 读取bitmapinfoheader
   file.read((char*)&bitmap->bitmapinfoheader ,sizeof(BITMAPINFOHEADER));

 // 定位文件指针
   file.seekg(bitmap->bitmapfileheader.bfOffBits);

 //读取位图数据
 file.read ((char*)bitmap->buffer,bitmap->bitmapinfoheader.biSizeImage );



注意我读取的不是8位,位图所以我不管调色板.

我想将windows游戏编程大师技巧中的读取位图函数改写成用C++标准程序库中的FSTREAM.

像这样读取位图文件有错吗? 
 

8

主题

239

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
发表于 2006-1-7 20:33:00 | 显示全部楼层

Re:一个读取位图的问题!

file.seekg(bitmap->bitmapfileheader.bfOffBits);好想有问题,先要跳到文件开始

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2006-1-7 23:20:00 | 显示全部楼层

Re:一个读取位图的问题!

-;)

8

主题

239

帖子

239

积分

中级会员

Rank: 3Rank: 3

积分
239
发表于 2006-1-8 11:47:00 | 显示全部楼层

Re:一个读取位图的问题!

老张吗?

15

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2006-1-8 12:00:00 | 显示全部楼层

Re: Re:一个读取位图的问题!

z999999: Re:一个读取位图的问题!

file.seekg(bitmap->bitmapfileheader.bfOffBits);好想有问题,先要跳到文件开始


不是这个原因!   就算是file.seekg(bitmap->bitmapfileheader.bfOffBits,ios::beg);  仍然不能正确的读出位图!

我也试过从文件尾(ios::end)读取数据,结果稍微好一点(整个屏幕都是灰色的)  比原先的更本读不出来要好一点  哈哈~


15

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2006-1-8 12:01:00 | 显示全部楼层

Re: Re:一个读取位图的问题!

没有人知道吗?

我想将windows游戏编程大师中使用io库读取位图的代码改成用C++标准库fstream

可是像我那样读取不能^^&&&&&&&

15

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2006-1-8 16:19:00 | 显示全部楼层

Re:一个读取位图的问题!

问题解决了  狂汗  狂汗啊 我的代码一点错也没有……

在不同的时间编译咋的结果就不一样撒……

我还发现在读取非8位图的时候定位文件指针那一句是多余的~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 04:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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