如何把图像字节信息读取到字节数组中?

jieliqun 2010-04-12 09:33:47
各位大侠,请问怎样能在打开一幅图像的时候把图像字节信息读取到一个字节数组中?
...全文
272 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
solaFighting 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jieliqun 的回复:]

引用 8 楼 solafighting 的回复:
引用 4 楼 jieliqun 的回复:

请问这里可以打开图像文件吗?图像格式为.jpg或.bm格式的
引用 1 楼 solafighting 的回复:

ifstream fin(FILE_PATH,ios::binary);
//这里要判断打开是否成功**********

///先获得文件长度
DWORD cbFile……
[/Quote]
你又不知道图像的字节长度,怎么能把字节信息存到数组里呢?
只能动态分配。
我给你写的程序里不已经存到lpData中了嘛
ForestDB 2010-04-22
  • 打赏
  • 举报
回复
帮顶。
yuluoyujj 2010-04-22
  • 打赏
  • 举报
回复
不应该是字节信息吧,应该先看图像的格式吧
嘎文 2010-04-21
  • 打赏
  • 举报
回复
楼主说字节信息,好模糊,是像素信息吗,楼主需要了解一下各个格式的文件结构,比如文件头长度,像素值偏移量之类的
jieliqun 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 solafighting 的回复:]
引用 4 楼 jieliqun 的回复:

请问这里可以打开图像文件吗?图像格式为.jpg或.bm格式的
引用 1 楼 solafighting 的回复:

ifstream fin(FILE_PATH,ios::binary);
//这里要判断打开是否成功**********

///先获得文件长度
DWORD cbFile =0;
fin.seekg (0, ios::en……
[/Quote]
如果想在打开并显示图像的同时,把字节信息读取到数组中,改怎么处理啊
jieliqun 2010-04-12
  • 打赏
  • 举报
回复
请问这里可以打开图像文件吗?图像格式为.jpg或.bm格式的
[Quote=引用 1 楼 solafighting 的回复:]

ifstream fin(FILE_PATH,ios::binary);
//这里要判断打开是否成功**********

///先获得文件长度
DWORD cbFile =0;
fin.seekg (0, ios::end);
cbFile = fin.tellg();
fin.seekg (0, ios::beg);

///再一次性申请内存……
[/Quote]
macrojj 2010-04-12
  • 打赏
  • 举报
回复
非正解哦

看你图像的格式吧。
r11222 2010-04-12
  • 打赏
  • 举报
回复
楼上应该正解,但什么是字节信息
solaFighting 2010-04-12
  • 打赏
  • 举报
回复
ifstream fin(FILE_PATH,ios::binary);
//这里要判断打开是否成功**********

///先获得文件长度
DWORD cbFile =0;
fin.seekg (0, ios::end);
cbFile = fin.tellg();
fin.seekg (0, ios::beg);

///再一次性申请内存
LPBYTE lpData = NULL;
lpData = new BYTE[cbFile];

///将文件内容读入内存
fin.read(( char* )lpData ,sizeof(BYTE)*cbFile);

fin.close();
solaFighting 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jieliqun 的回复:]

请问这里可以打开图像文件吗?图像格式为.jpg或.bm格式的
引用 1 楼 solafighting 的回复:

ifstream fin(FILE_PATH,ios::binary);
//这里要判断打开是否成功**********

///先获得文件长度
DWORD cbFile =0;
fin.seekg (0, ios::end);
cbFile = fin.tellg……
[/Quote]
如果只想把图像读入内存的话,行。
herman~~ 2010-04-12
  • 打赏
  • 举报
回复
只是简单的文件数据入库吗?
那就按普通读写文件的方法做好了
liyoubaidu 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 solafighting 的回复:]
ifstream fin(FILE_PATH,ios::binary);
//这里要判断打开是否成功**********

///先获得文件长度
DWORD cbFile =0;
fin.seekg (0, ios::end);
cbFile = fin.tellg();
fin.seekg (0, ios::beg);

///再一次性申请内存
LPBYTE lpD……
[/Quote]不用理会图片格式吧,又不是要显示出来。
  • 打赏
  • 举报
回复
建议楼主在进行相应的图像读取操作前,先了解一下各种格式的图片的存储格式。这个并没有通用的方式,不同格式的图片读取方法是不一样的。如果楼主还想要显示图片的话,那就更要去了解细节了,BMP还好一点,直接读取就行了,对于JPEG图片,还要涉及解码等操作,不是简单地就能读出来的。

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧