Qt合成图片小工具分享



  • 为了工作的需要,我们有这样的需求:就是将很多图片合成一张图片。因此我开发了这样一款小工具,这款工具呢,目的是将图片合成为一张大图。然后通过QML的AnimatedSprite进行渲染,效果十分出色。

    想一想,是不是有时候要用最经济的方法实现最炫的效果?假如用即时渲染渲染出来的效果,效率很低,并且没有三维渲染的技术知识积累,非常痛苦。但是又要出这个效果,怎么办呢?我们用软件渲染后的图片播放来代替,形成假3D的效果。

    有人问到,为什么不用播放视频呢?那是因为,播放视频要借助解码器,有些平台还真没有解码器,所以作为补救的方法,采用图片序列替代,可以以很低的代价来实现很棒的效果。

    怎么样?想试试吗?教大家使用的方法:

    • 第一步点击“打开”按钮。
      0_1471490963792_1.png
      选择一个或者多个图片。如果图片在一个文件夹中,那么可以全选。图片按照被点击的顺序进行排列。
      0_1471491100139_2.png

    • 第二步可以设置每行图片的个数。这里提供了数字和滑动条的方式进行设置。默认我们会设置最大的图片张数。
      0_1471491250695_3.png

    • 第三步选择导出的位置,选定好位置后,输入导出的文件名。如果没有后缀的话,系统会默认添加jpg后缀。当然也可以自己写png后缀。
      0_1471491262118_4.png

    • 随后点击导出,即可导出。
      0_1471491365178_5.png

    • Extra 大家如果要用QML显示动图的话,那么可以选择AnimatedSprite来显示动图。通过点击“显示QML写法”按钮来导出QML代码到输出框。
      0_1471491433286_6.png

    下载地址是:这里



  • 想起了一个官方的demo
    二话不说把我图片文件夹下面的图全部合了
    吃了6个G内存



  • @MidoriYakumo 哪个?



  • 印象中好像有thread或者concurrent的关键词
    这个应该写成blender扩展



  • @MidoriYakumo 不会吧,官方的demo,没有这个吧。
    这个制作成Blender扩展?可能需要python,但是我想制作出来也可以,不过我现在不太熟悉bpy,但是熟悉Qt。



  • @MidoriYakumo 我的这一个例子前一个版本也是concurrent的,问题是,IO不能并行。读取数据,并且写入数据是串行的,而且,QPainter的绘制函数不能重入。



  • 0_1471614827160_Screenshot_20160819_215339.png

    我也不记得了只剩一张截图。。。



  • @MidoriYakumo 这么厉害!是不是用我的工具制作的?如果不是的话,那是用什么工具制作的呢?


登录后回复
 

与 萌梦社区 的连接断开,我们正在尝试重连,请耐心等待