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

golang入门-- 一个2D的图形库学习

发布时间:2020-12-16 18:33:07 所属栏目:大数据 来源:网络整理
导读:此库叫gg,源码在github。 1、获取源码并安装到本地: 首先要安装git (传送门) : https://git-scm.com/download/ 然后就可以通过 go get 命令从git获得源码并安装(此处默认大家已安装go) : 在cmd 进入GOPATH目录,然后输入 : go get github.com/foglema

此库叫gg,源码在github。

1、获取源码并安装到本地:

首先要安装git (传送门) : https://git-scm.com/download/

然后就可以通过 go get 命令从git获得源码并安装(此处默认大家已安装go) : 在cmd 进入GOPATH目录,然后输入 : go get github.com/fogleman/gg

一会儿之后你就可以看到GOPATH上已经有了gg的源码,并且顺便把gg的依赖第三方库也下载了。

2、在srcgithub.comfoglemanggexamples 目录是gg作者写的例子。这里选一个出来练练手:

package main

import (
	"github.com/fogleman/gg"
	"math/rand"
)

func main() {

	const W = 1024
	const H = 1024
	dc := gg.NewContext(W,H) //上下文,含长和宽
	dc.SetRGB(0,0)        //设置当前色
	dc.Clear()                //清理一下上下文,下面开始画画

	for i := 0; i < 1000; i++ { //画1000 条线,随机位置,长度,颜色和透明度
		x1 := rand.Float64() * W
		y1 := rand.Float64() * H
		x2 := rand.Float64() * W
		y2 := rand.Float64() * H

		r := rand.Float64()
		g := rand.Float64()
		b := rand.Float64()
		a := rand.Float64()*0.5 + 0.5
		w := rand.Float64()*4 + 1
		dc.SetRGBA(r,g,b,a)
		dc.SetLineWidth(w)
		dc.DrawLine(x1,y1,x2,y2) //画线
		dc.Stroke()                 //没有这句是不会把线最终画出来的
	}
	dc.SavePNG("lines.png") //保存上下文为一张图片
}

(编辑:李大同)

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

    推荐文章
      热点阅读