将一幅位图写入文件指定位置

tzcherish 2010-03-16 10:36:21
如题。。。。

补充:文件为二进制文件,要导入数据库。

在Qt中,QImage类好像是支持BMP图像,save方法能把BMP图像直接写到文件中,但是貌似都是从文件的第一个字节开始写的。
我想把这个BMP图像写到离文件头偏移量为offset的位置,在offset之前的位置写入其他信息。

问题1. 各位大侠,我想知道Qt4中有没有相关的方法实现。


用C++(C)方法读一幅BMP图像到文件中的指定位置,貌似要根据BMP文件格式定义,然后写方法。

问题2. 在构造BMP对象时,初始化的数据如何从图像中解析出来?
问题3. 能否提供C方法关键思路。

大虾们,我期待你们给的建议,解答和灵感。。。。。
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nhonz 2011-01-20
  • 打赏
  • 举报
回复
要回贴,才能看很讨厌
tzcherish 2010-03-18
  • 打赏
  • 举报
回复
没人回复就结贴了,O(∩_∩)O~
MicroSky2813 2010-03-16
  • 打赏
  • 举报
回复
题1. 各位大侠,我想知道Qt4中有没有相关的方法实现。

QByteArray的方法就不错

问题2. 在构造BMP对象时,初始化的数据如何从图像中解析出来?

制定位置读取出来BMP偷偷存哪哪来用,-.-

问题3. 能否提供C方法关键思路。

直接fstream使用其实就可以了,具体偏移使用c就很简单了
bsr2009 2010-03-16
  • 打赏
  • 举报
回复
问题1:LS已回答。
问题2和问题3:可以参考
C语言读取BMP位图文件
tzcherish 2010-03-16
  • 打赏
  • 举报
回复
to tingsking18:
O(∩_∩)O谢谢,咯咯
tingsking18 2010-03-16
  • 打赏
  • 举报
回复
1.qt好像本身不提供你需要的这样的函数。
可以通过QImage一个重载的save方法
bool QImage::save ( QIODevice * device, const char * format = 0, int quality = -1 ) const
将图片放到一个QByteArray中去。然后在需要的地方写入。
2.看一下bmp文件头的定义。先读取位图文件头和位图信息头。然后根据位图信息头读取调色板数据和图像数据。
3.关注一下
BITMAPFILEHEADER
LPBITMAPINFOHEADER
LPBITMAPINFO
LPLOGPALETTE
LPBITMAPCOREINFO
这几个结构的,就基本够了。
tzcherish 2010-03-16
  • 打赏
  • 举报
回复
O(∩_∩)O~谢谢楼上的大虾们

16,227

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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