我正在努力让自己了解Go + Appengine。我一直在使用Blobstore来存储用户图像上传。无论如何,我可以从BlobStore下载图像并进行操作吗?还是有其他解决方案?的图像LIB是有点限制。我也想将其他格式转换为jpeg。
2 回答
aluckdog
TA贡献1847条经验 获得超7个赞
是的,您可以从blobstore中拉出文件并利用Go 1随附的图像包,包括image / draw和image / jpeg。请参阅Go image包以获取概述和image / draw博客文章。假设您已经拥有要处理的图像的BlobInfo,则可以通过将嵌入式BlobKey传递给blobstore.NewReader来获得其原始数据,从而为您提供io.Reader对象。将其传递给png.Decode以获得image.Image。进行所需的任何操作,然后将其保存回blobstore,从blobstore获取Writer.Create并将其交给jpeg.Encode。最后,调用blobstore.Close和.Key以获取新的BlobKey来保存在数据存储区中。
如果您想进行更复杂的操作,可以使用几个纯Go库来与您的应用程序一起上传并与image.Image一起使用。例如,请参阅graphics-go和Go中编写的Libraries的“ Images and Graphics”部分。
- 2 回答
- 0 关注
- 208 浏览
添加回答
举报
0/150
提交
取消