前一节讲的是 绘图到不同输出源,请看地址: http://www.cnblogs.com/ghj1976/p/3440856.html
上一节的例子效果是通过设置每一个点的的RGBA属性来实现的,这是最基础的方式,通过这种方式我们可以绘制任意形状的图形。
效果如下:
代码如下,跟最初我们的代码唯一不同的是设置点颜色时,多了一个条件判断语句:if x%8 == 0 ,代码如下,这种情况下,其实我们通过算法简单的实现了画垂直线的效果:
1: package main
2:
3: import (
10: )
11:
12: func main() {
const (
14: dx = 300
15: dy = 500
16: )
17:
// 需要保存的文件
19: imgcounter := 123
, imgcounter))
21: defer imgfile.Close()
22:
// 新建一个 指定大小的 RGBA位图
24: img := image.NewNRGBA(image.Rect(0, 0, dx, dy))
25:
for y := 0; y < dy; y++ {
for x := 0; x < dx; x++ {
28:
if x%8 == 0 {
// 设置某个点的颜色,依次是 RGBA
31: img.Set(x, y, color.RGBA{uint8(x % 256), uint8(y % 256), 0, 255})
32: }
33: }
34: }
35:
// 以PNG格式保存文件
37: err := png.Encode(imgfile, img)
if err != nil {
39: log.Fatal(err)
40: }
41:
42: }