加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

c – 将xlib XImage保存到PNG

发布时间:2020-12-13 18:54:23 所属栏目:Linux 来源:网络整理
导读:我正在使用xlib. 我有一个XImage结构,其中包含来自XGetImage()调用的信息.是否有一种流行的方法可以从XImage获得更有意义的东西..即PNG? 我看过libpng,但几乎每个人都听说这是一个驯服的野兽.这仍然是推荐的路径吗? 最佳答案 另请参见How to save XImage a

我正在使用xlib.

我有一个XImage结构,其中包含来自XGetImage()调用的信息.是否有一种流行的方法可以从XImage获得更有意义的东西..即PNG?

我看过libpng,但几乎每个人都听说这是一个驯服的野兽.这仍然是推荐的路径吗?

最佳答案
另请参见How to save XImage as bitmap?,尽管该人员有限制他们无法使用库.

如果你可以使用一个图书馆,开罗是一个很好的,我会相信你会这样做.它有PNG保存处理libpng乱码,并且它有代码从X获取像素.但是,它可能很难从XImage获取像素;它会想要从窗口或像素图中获取它们.如果你可以用cairo替换你的XGetImage(),那么它可能正常工作.我认为你在开罗大致做事的方式是:

>创建一个指向您的drawable的Xlib表面
>保存至PNG http://cairographics.org/manual/cairo-PNG-Support.html

您还可以使用Xlib曲面作为绘制到图像表面的源,然后在保存为PNG之前,根据需要对图像表面(缩放或绘制或其他)执行其他操作.

如果你正在使用任何类型的UI工具包,它可能也有这样的代码,例如GTK有gdk_pixbuf_get_from_drawable()等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读