祝你今天愉快 .
在我的开发环境中,我尝试裁剪存储在谷歌 Cloud 存储中的图像,我们可以使用以下URL访问并显示该图像:
http://127.0.0.1:8080/_ah/img/encoded_gs_file:YXBwX2RlZmF1bHRfYnVja2V0LzIwMTUvNy8yMy90aG9kYW4uanBn
with "encoded_gs_file:YXBwX2RlZmF1bHRfYnVja2V0LzIwMTUvNy8yMy90aG9kYW4uanBn"是blob的blob_key,用于存储图像 .
我用了
class google.appengine.api.images.Image(image_data=None, blob_key=None, filename=None)[source]
在此GAE API链接中:https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.images
这是我裁剪该图像的代码:
import google.appengine.api.images as _gimage
blob_key = 'encoded_gs_file:YXBwX2RlZmF1bHRfYnVja2V0LzIwMTUvNy8yMy90aG9kYW4uanBn'
img = _gimage.Image(blob_key=blob_key)
logger.debug('BLOB KEY: %s' % blob_key)
left = 0.0
top= 0.0
right = 0.3
bottom = 0.3
cropped_img = img.crop(left_x=left, top_y=top, right_x=width, bottom_y=height)
#img.resize(width=80, height=100)
logger.debug('CROPPED IMAGE: %r' % cropped_img)
但是,“cropped_img”返回None对象,这意味着这种作物真的失败了 . 日志显示如下:
2015-07-23 07:19:43,683:DEBUG:BLOB KEY: encoded_gs_file:YXBwX2RlZmF1bHRfYnVja2V0LzIwMTUvNy8yMy90aG9kYW4uanBn
2015-07-23 07:19:43,684:DEBUG:Handled logservice.Flush in 0.0002
2015-07-23 07:19:43,689:DEBUG:Handled images.GetUrlBase in 0.0031
2015-07-23 07:19:43,691:DEBUG:Handled logservice.Flush in 0.0003
2015-07-23 07:19:43,692:DEBUG:<google.appengine.api.images.Image object at 0x7f1eac1873d0>
2015-07-23 07:19:43,694:DEBUG:Handled logservice.Flush in 0.0004
2015-07-23 07:19:43,694:DEBUG:CROPPED IMAGE: None
我无法找出这个问题的根本原因 . 你能帮我解释一下这个错误吗?非常感谢你提前 .
希望你能帮忙 .