请教各位朋友,在QT下怎么把图片转换成字符串,然后又可以通过字符串重新生成那个图片文件?

请教各位朋友,在QT下怎么把图片转换成字符串,然后又可以通过字符串重新生成那个图片文件?字符串可以是16进制,base64等等我想请教,怎么在QT下有什么函数,或者什么代... 请教各位朋友,在QT下怎么把图片转换成字符串,然后又可以通过字符串重新生成那个图片文件? 字符串可以是16进制,base64等等
我想请教,怎么在QT下有什么函数,或者什么代码可以把图片转换成字符串的格式,
如把BMP、png图片转换成16进制的.txt文件,
然后通过那个16进制串,或者那个TXT文件又把它生产一个图片格式的文件?
我是个新手,请各位朋友指点一下,拜谢~~~
非常感谢 eee2356eee 的提示,我会试着去写一下这个代码先~~~真的很感谢,我的项目正要我用QT技术来写一个转换程序。
展开
 我来答
eee2356eee
2010-07-24 · TA获得超过1139个赞
知道小有建树答主
回答量:389
采纳率:0%
帮助的人:607万
展开全部
这个是算法问题,和QT本身没有关系

这样的算法可以自行设计的
1。图片转字符串。将图片文件数据的所有字节转换为16位字符串,全部存储即可
2。字符串转图片。将文本数据每两个字符的文本数字转换为1个字节数据,然后全部存储即可

################################################################
我上面的是图片和字符串之间互转的一种思路而已,楼主其实可以根据具体实现要求设计算法
根据上述所述算法,我简单说一下思路吧,这里使用C标准库函数完成,当然也可以使用QT中的文件操作类,看个人喜好了:
1。文件读写
fopen,fclose,fread,fwrite,feof,ftell,fseek
fopen,fclose 用于打开关闭文件
fread,fwrite 用于读写文件数据
feof 用于判断文件指针是否到末尾
ftell 判断当前文件指针位置
fseek 用于移动文件指针
2。图片转字符串
使用fread读取图片文件二进制数据到内存缓冲区,将每个字节(8位)的16进制形式转换为字符串,比如EE-> 转换为字符串"EE"
然后使用fwrite存储到目标文本文件
3。字符串转图片
使用fread每两个字节读取一次,将读取的两字节字符串,将每个字节分别转换为字符所代表的16进制值,比如字符“E”,转换为整数E(16进制),然后每两个16进制数组成一个,拼装为一个8位整数。具体可以这样,将高位数逻辑左移4位,然后加上低位即可
最后使用fwrite写入文件
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式