怎样用c语言的file指针读取一张图片

时间:2022-11-29 10:14:07
由于种种原因,我需要研究如何通过对二进制数据进行处理从而显示一张jpg图片。不可以使用库函数。

8 个解决方案

#1


fseek
需要知道jpg的文件结构

#2


先了解JPEG文件的结构。

1、读取二进制数据时根据JPEG不同的标志来读取不同的段(如SOI、DQT、DHT,等等);
2、至于显示JPEG图片,因为它的压缩过的,你必须解压才能显示,要么用jpeg库,要么自己写解压库。

#3


参考http://download.csdn.net/detail/yuwenlinlove/4275108自己再修改修改。

#4


引用 1 楼  的回复:
fseek
需要知道jpg的文件结构
对,之前我也看到有人用fseek加for循环在文件中寻找标志,但每次只读取很少的字节。这样下来,文件的读取会非常的慢。我想把所有二进制数据先加载到内存再进行信息检索。请问该用什么容器好些?

#5


必须了解jpeg的格式结构,然后按协议解析了

#6


我也想知道怎么弄

#7


引用 4 楼  的回复:
引用 1 楼 的回复:

fseek
需要知道jpg的文件结构
对,之前我也看到有人用fseek加for循环在文件中寻找标志,但每次只读取很少的字节。这样下来,文件的读取会非常的慢。我想把所有二进制数据先加载到内存再进行信息检索。请问该用什么容器好些?

char[] or string 

#8


引用 3 楼  的回复:
参考http://download.csdn.net/detail/yuwenlinlove/4275108自己再修改修改。

这个是我之前弄到的代码

do 
{
File.Read(&Tag,4);
File.Seek(-3,CFile::current);
} while (Tag!=0x01000028);


你看他这样写,在循环当中不断读取并比较,结果程序基本上都卡死了。我认为应该先把所有数据用数组加载到内存 ,在寻找tag,你觉得呢?

#1


fseek
需要知道jpg的文件结构

#2


先了解JPEG文件的结构。

1、读取二进制数据时根据JPEG不同的标志来读取不同的段(如SOI、DQT、DHT,等等);
2、至于显示JPEG图片,因为它的压缩过的,你必须解压才能显示,要么用jpeg库,要么自己写解压库。

#3


参考http://download.csdn.net/detail/yuwenlinlove/4275108自己再修改修改。

#4


引用 1 楼  的回复:
fseek
需要知道jpg的文件结构
对,之前我也看到有人用fseek加for循环在文件中寻找标志,但每次只读取很少的字节。这样下来,文件的读取会非常的慢。我想把所有二进制数据先加载到内存再进行信息检索。请问该用什么容器好些?

#5


必须了解jpeg的格式结构,然后按协议解析了

#6


我也想知道怎么弄

#7


引用 4 楼  的回复:
引用 1 楼 的回复:

fseek
需要知道jpg的文件结构
对,之前我也看到有人用fseek加for循环在文件中寻找标志,但每次只读取很少的字节。这样下来,文件的读取会非常的慢。我想把所有二进制数据先加载到内存再进行信息检索。请问该用什么容器好些?

char[] or string 

#8


引用 3 楼  的回复:
参考http://download.csdn.net/detail/yuwenlinlove/4275108自己再修改修改。

这个是我之前弄到的代码

do 
{
File.Read(&Tag,4);
File.Seek(-3,CFile::current);
} while (Tag!=0x01000028);


你看他这样写,在循环当中不断读取并比较,结果程序基本上都卡死了。我认为应该先把所有数据用数组加载到内存 ,在寻找tag,你觉得呢?