Golang入门-- 2D的图形库学习

时间:2022-05-04
本文章向大家介绍Golang入门-- 2D的图形库学习,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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, 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") //保存上下文为一张图片  
}