linux下如何显示图片(用c)
linux下如何显示图片?如果bmp的图片,没有经过压缩,直接拷贝到framebuff就可以显示,但是jpg的和png的图片呢?不是有经过压缩的嘛?需要自己用c代码解压还原成bmp的图片嘛?linux下有没有相关的代码?哪位大虾知道的,告知下。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
谢谢楼上的两位兄弟,因为我们这种小公司做什么都是要考虑成本的,所以不可能把gdk这种东西放进去的,会占很大的空间吧,我想。code里面的东西都是基于framebuffer的。
嗯,基本上就是这个意思,本来公司没有安排我来做,我只是好奇而已,以前是显示bmp的图片,但是比较占空间,现在听说要做成jpeg的。不过好像现在他们已经做出来了,应该就是一些jpeg的库的问题吧,只要有库,应该就可以显示吧,不过最终的显示应该都是把数据一个一个的拷到framebuffer,然后再显示的吧。不过具体的实现我有空了去看看,然后发上来!
本帖最后由 gohuy 于 2010-06-14 17:53 编辑
用下面函数可以把文件读入GdkPixbuf中
GdkPixbuf * gdk_pixbuf_new_from_file(const char *filename, GError **error);
再用这个函数显示到一个GdkDrawable 上
void gdk_pixbuf_render_to_drawable (GdkPixbuf *pixbuf, GdkDrawable *drawable, GdkGC *gc,
int src_x, int src_y, int dest_x, int dest_y, int width, int height,
GdkRgbDither dither, int x_dither, int y_dither);
最后再把GdkDrawable 显示到屏幕上。
借助gtk吧,或者直接用cairo库也行
楼主难道想先把jpg图片还原成像素点信息,然后调用内核模块里的显卡驱动,一个一个像素点打印?这两样工作都不简单啊
自己顶下,哪位帅锅,大虾的捧个场啥!