AUTH:PHILO VERSION:2
本文主要介绍:
图片文件的读写。
图片在go缓存中如何与base64互相转换
图片裁剪
本文中,为了方便查看,去掉所有错误判断
base64 -> file
ddd, _ := base64.StdEncoding.DecodeString(datasource) //成图片文件并把文件写入到buffer
err2 := ioutil.WriteFile("./output.jpg", ddd, 0666) //buffer输出到jpg文件中(不做处理,直接写到文件)
datasource base64 string
base64 -> buffer
ddd, _ := base64.StdEncoding.DecodeString(datasource) //成图片文件并把文件写入到buffer
bbb := bytes.NewBuffer(ddd) // 必须加一个buffer 不然没有read方法就会报错
转换成buffer之后里面就有Reader方法了。才能被图片API decode
buffer-> ImageBuff(图片裁剪,代码接上面)
m, _, _ := image.Decode(bbb) // 图片文件解码
rgbImg := m.(*image.YCbCr)
subImg := rgbImg.SubImage(image.Rect(0, 0, 200, 200)).(*image.YCbCr) //图片裁剪x0 y0 x1 y1
img -> file(代码接上面)
f, _ := os.Create("test.jpg")