前一节讲的是 绘图到不同输出源,请看地址: http://www.cnblogs.com/ghj1976/p/3440856.html

上一节的例子效果是通过设置每一个点的的RGBA属性来实现的,这是最基础的方式,通过这种方式我们可以绘制任意形状的图形。

效果如下:

Golang 绘图基础 -绘制简单图形

代码如下,跟最初我们的代码唯一不同的是设置点颜色时,多了一个条件判断语句: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: }

相关文章: