bra*_*ley 1 google-app-engine image go
我正试图绕过Go + Appengine.我一直在使用Blobstore来存储用户图片上传.无论如何我可以从BlobStore下载图像并进行操作吗?
还是有其他解决方案吗?
的图像LIB是有点限制.我还想将其他格式转换为jpeg.
是的,您可以将文件从blobstore中拉出来,并利用Go 1中包含的图像包,包括图像/绘图和图像/ jpeg.有关概述和图像/绘制博客文章,请参阅Go图像包.假设您已经拥有要操作的图像的BlobInfo,可以通过将嵌入的BlobKey传递给blobstore.NewReader来获取其原始数据,并为您提供io.Reader对象.将其传递给例如png.Decode以获取图像.图像.做你喜欢的任何操作,然后将它保存回blobstore,从blobstore.Create获取一个Writer 并将其交给jpeg.Encode.最后调用blobstore.Close和.Key以获取要保存在数据存储区中的新BlobKey.
如果您想进行更复杂的操作,可以使用您的应用程序上传几个pure-Go库,并与image.Image一起使用.例如,参见graphics-go以及Go中编写的Libraries的"图像和图形"部分.