PHP处理GIF动画之编码
上次弄最少步的线上统计,在魔方吧前面里挂了个链接,后来发现签名有限制,想要弄太多内容上去几乎不可能,于是就想到了利用图片。用PHP来生成图片,将最少步的结果写进图片中,这样就可以展示很多内容,而且还可以实时更新了,于是就简单弄了个。但是逐渐发现,只有一张静态图片,展示的内容还是不足,毕竟每期最少步,都有许多人参与,于是就想,如果能弄个GIF动画滚动结果,那么就很清晰而且能够想展示什么就展示什么了,于是最终结果如下图:
这只是简单的滚动文字,实现起来无非就是很多帧的图片合成的动画,不过寻找用PHP合成动画这一解决方案,却花了很长时间,才在PHP Classes上找到一个类:GIF Encoder,即GIF images into animated GIF with native PHP class(用PHP类将GIF图像合成GIF动画)。
刚下载来的源文件还有些许错误,调整之后,就得到一个可以生成GIF动画的强大的PHP类了,下面以它给出的example简单的说说使用方法:
首先,创建要合成动画的图像资源,可以是已存在的图像,也可以是PHP生成的二进制图像数据,顺便设置好每帧之间的延时
接着调用GIF解码类,前两个参数即上面的图像资源和每帧延时,第三个参数为0时动画循环,为1时不循环,第四个参数我至今没明白是做啥的,不过用默认的2就可以了,可选范围是0,1,2,3,第五、六、七个参数分别是R、G、B颜色值,最后一个参数则是资源类型,也就是前面提到的,可以是已经存在的图像(url),也可以是PHP生成的二进制数据(bin)。
最后,输出生成的动画即可,当然,你也可以储存到文件里
最后附上源代码
附件下载:
gifencoder.rar 34.87KB
gifencoder.rar 34.87KB
上一篇:PHP处理GIF动画之解码
下一篇:会动的眼睛
加载中……


绿色字体看不清楚哇,希望弄个颜色深一点的....滚动速度也慢一点点,估计效果会更好,嘿嘿
大图还是很清楚的,呵呵