前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >厚土Go学习笔记 | 22. 实现Pic

厚土Go学习笔记 | 22. 实现Pic

作者头像
李海彬
发布2018-03-28 11:45:26
1K0
发布2018-03-28 11:45:26
举报
文章被收录于专栏:Golang语言社区Golang语言社区

package main import ( "fmt" "image" "bytes" "image/png" "encoding/base64" ) func Pic(dx, dy int) [][]uint8 { //dx元素长度,dy整个slice长度 s := [][]uint8{} ss := []uint8{} for i := 0; i < dx; i++ { ss = append(ss, 45) } for i := 0; i < dy; i++ { s = append(s, ss) } return s } func Show(f func(int, int) [][]uint8) { const ( dx = 256 dy = 256 ) data := f(dx, dy) m := image.NewNRGBA(image.Rect(0, 0, dx, dy)) for y := 0; y < dy; y++ { for x := 0; x < dx; x++ { v := data[y][x] i := y*m.Stride + x*4 m.Pix[i] = v m.Pix[i+1] = v m.Pix[i+2] = 255 m.Pix[i+3] = 255 } } ShowImage(m) } func S howImage(m image.Image) { var buf bytes.Buffer err := png.Encode(&buf, m) if err != nil { panic(err) } enc := base64.StdEncoding.EncodeToString(buf.Bytes()) fmt.Println("IMAGE:" + enc) } func main() { Show(Pic) }

在浏览器运行,可以看到运行结果。

实现的图片

可在下面地址输入此例代码,并运行和分析。

Demo https://tour.golang.org/welcome/1

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档