今天看了golang中国社区翻译的"go语言圣经",在第一章1.4节讲到用go制作gif动画,感觉非常有意思,分享给大家

package main
import (
    "image"
    "image/color"
    "image/gif"
    "io"
    "math"
    "math/rand"
    "os"
)
var palette = []color.Color{color.White, color.Black} //调色板
const (
    whiteIndex = 0
    blackIndex = 1
)
func main() {
    lissajous(os.Stdout)
}
func lissajous(out io.Writer) {
    const (
        cycles  = 5
        res     = 0.001
        size    = 100
        nframes = 64
        delay   = 8
    )
    freq := rand.Float64() * 3.0
    anim := gif.GIF{LoopCount: nframes}
    phase := 0.0
    for i := 0; i < nframes; i++ {
        rect := image.Rect(0, 0, 2*size+1, 2*size+1)
        img := image.NewPaletted(rect, palette)
        for t := 0.0; t < cycles*2*math.Pi; t += res {
            x := math.Sin(t)
            y := math.Sin(t*freq + phase)
            img.SetColorIndex(size+int(x*size+0.5), size+int(y*size+0.5), blackIndex)
        }
        phase += 0.1
        anim.Delay = append(anim.Delay, delay)
        anim.Image = append(anim.Image, img)
    }
    gif.EncodeAll(out, &anim)
}

$ go build gif.go $ ./gif >out.gif

鉴于自身阅历有限,所以本博客内容大部分来源于网络中已有知识的汇总,如有侵权,请及时和我联系,切实维护您的权益!

go语言制作gif动画相关推荐

  1. 用html语言制作表白动画,抖音很火的卡通做我女朋友表白html源码

    资源使用说明: 纯HTML的源码,上传就可以打开使用啦! 右键index.html记事本可修改你要表白的内容.名字等. HTML是用来做网站的一种语言哈.这样吧.你打开一个网页百.然后再网页任何一个地 ...

  2. 用html语言制作表白动画,HTML5 Canvas程序员经典爱情表白动画

    JavaScript 语言: JaveScriptBabelCoffeeScript 确定 var $window = $(window), gardenCtx, gardenCanvas, $gar ...

  3. 利用VML标记语言画图、动画制作

    利用VML标记语言画图.动画制作 进行信息技术与学科整合过程中,信息的加工处理过程中经常需要绘图,有时也需要一些动画.相当一部分绘图工作可使用Microsoft画图(可用于绘制各种较为复杂的电路图等) ...

  4. 用VML标记语言画图、动画制作

    利用VML标记语言画图.动画制作 进行信息技术与学科整合过程中,信息的加工处理过程中经常需要绘图,有时也需要一些动画.相当一部分绘图工作可使用Microsoft画图(可用于绘制各种较为复杂的电路图等) ...

  5. 易语言制作计算软件简单步骤_【软件工具】快速制作动画式微课,就是这么简单...

    点击上方蓝字   励展集团  关注并设为星标 动画式微课能够呈现出超出文字.语言外的演示效果.在微课中加入动画,能够让课程内容更生动活泼:用动画人物形象替代教师.学生角色,也能模拟真实教学场景,设置教 ...

  6. 纯html5语言编写的动画,8个纯CSS3制作的动画应用及源码

    本文作者html5tricks,转载请注明出处 对于一个复杂的图形或者动画来说,之前我们的处理方式是图片叠加或者利用CSS+JavaScript的方法,然而随着CSS3标准的不断成熟,我们甚至完全可以 ...

  7. Vyond制作2D动画学习教程

    Vyond为2D动画提供了极其简单的分解视频创建过程. 你会学到什么 课程获取:Vyond制作2D动画学习教程-云桥网 您将学习如何为2d动画制作画外音 您将学习如何使用Vyond轻松创建精彩的动画视 ...

  8. lottie 动画_使用After Effects和Lottie制作网络动画而不会损失质量

    lottie 动画 A quick getting started guide 快速入门指南 I recently took on a project where the team wanted to ...

  9. python制作简单动画_把数据摇起来!用Python制作动画可视化效果!

    Python 中有很多不错的数据可视化库,但是极少能渲染 GIF 图或视频动画效果.本文就分享一下如何用 MoviePy 作为其他可视化库的通用插件,制作动画可视化效果,毕竟这年头,没图不行,有动图更 ...

最新文章

  1. 懒加载 字典转模型 自定义cell
  2. 第一次 C语言课程设计
  3. 北京铁路局百余列普速列车将开通WiFi
  4. 【 Sublime Text 】如何使用Sublime Text直接生成Verilog例化模板
  5. oj contest ranklist时间怎么算的_几次买入基金怎么算持有天数,加仓算在原来持有时间吗...
  6. 最小二乘拟合,L1、L2正则化约束--转
  7. SSM 框架 Maven项目整合实例
  8. SAP UI5 应用开发教程之五十一 - 如何使用 Chrome 调试运行在手机上的 SAP UI5 Cordova 混合应用试读版
  9. 排序算法(2)----插入排序
  10. 打开旧Flutter项目说:Your Flutter application is created using an older version of the Android embedding
  11. CCNP-EIGRP路由认证(附实验PDF下载)
  12. 【渝粤教育】电大中专电商运营实操 (13)作业 题库
  13. Android ImageButton单击切换按钮图片效果
  14. 多御安全浏览器升级1.7.6版,新增扫描二维码功能
  15. android框架揭秘!Android开发者跳槽指南一线互联网公司面经总结
  16. python手机号信息查询身份证_Python使用xpath爬虫查询身份证信息和手机号信息并写入Excel表格...
  17. Windows10插了耳机电脑还是外放
  18. 【UOJ】#246. 【UER #7】套路
  19. 2022款华为MateBook 14和华硕无畏15哪个好
  20. 3.HTML段落、文本格式化、链接

热门文章

  1. MACbook系统从10.7升级到10.10
  2. AQS核心流程解析-acquire方法
  3. 安装并配置 quilt
  4. 关于RTL9210b固件升级问题及过程
  5. 固件firmware和驱动driver
  6. freeCodeCamp “正向先行断言和负向先行断言“ 练习
  7. 天龙八部TLBB系列 - 如何让宠物学习十二满技能
  8. Oracle(11g)安装
  9. 三星 Galaxy Tab Pro T320 root 过程分享
  10. Redis实现世界杯排行榜功能(实战)