Exercise: Slices

Exercise: Slices

题目:

Implement Pic. It should return a slice of length dy, each element of which is a slice of dx 8-bit unsigned integers. When you run the program, 
it will display your picture, interpreting the integers as grayscale (well, bluescale) values.

The choice of image is up to you. Interesting functions include (x+y)/2, x*y, and x^y.

(You need to use a loop to allocate each []uint8 inside the [][]uint8.)

(Use uint8(intValue) to convert between types.)


实现Pic。它应返回一个长度为dy的slice,其中每个元素都是一个大小为dx的8bit无符号整型slice。当你运行程序,将会显示你的图片。

图像的选择权在于你,有趣的函数包括 (x+y)/2, x*y, and x^y。

 

代码:

package main

import "golang.org/x/tour/pic"

func Pic(dx, dy int) [][]uint8 {
	image := make([][]uint8, dy)
	for y := 0; y < dy; y++ {
                image[y] = make([]uint8, dx)
		for x := 0; x < dx; x++ {
			image[y][x] = (uint8)(x^y) % 255
		}
	}
	return image
}

func main() {
	pic.Show(Pic)
}

 结果:

posted @ 2016-05-23 23:31  chpx  阅读(243)  评论(0编辑  收藏  举报