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

前端之家收集整理的这篇文章主要介绍了golang入门-- 一个2D的图形库学习前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

此库叫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、在src\github.com\fogleman\gg\examples 目录是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") //保存上下文为一张图片
}
原文链接:https://www.f2er.com/go/189885.html

猜你在找的Go相关文章