您的位置:首页 > 编程语言 > Go语言

go语言Exercise: Images

2012-05-09 16:08 344 查看
Remember the picture generator you wrote earlier? Let's write another one, but this time it will return an implementation of
image.Image
instead
of a slice of data.
Define your own
Image
type, implement the necessary methods,
and call
pic.ShowImage
.
Bounds
should return a
image.Rectangle
,
like
image.Rect(0, 0, w, h)
.
ColorModel
should return
color.RGBAModel
.
At
should return a color; the value
v
in
the last picture generator corresponds to
color.RGBA{v, v, 255, 255}
in this one.

package main

import (

"image"

"image/color"

"tour/pic"

)

type Image struct{}

func (i *Image) ColorModel() color.Model {

return color.RGBAModel

}

func (i *Image) Bounds() image.Rectangle {

return image.Rect(0, 0, 256, 256)

}

func (i *Image) At(x, y int) color.Color {

v := (uint8)(x^y)

return color.RGBA{v, v, 255, 255}

}

func main() {

m := &Image{}

pic.ShowImage(m)

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: