我需要调整尺寸并从各种尺寸裁剪到60x80px 纵横比。就在我投入数据存储之前。任何人都有 这个问题已经解决了。
目前我已经成功将其转换为精确高度(80px) 各种宽度,当我试图显示它时看起来不那么好 一个列表。例如jcaroussel。
我的db.put代码如下:
if users.get_current_user():
personal.personal_id = int(self.request.get('personal_id'))
personal.name = self.request.get('name')
personal.latitude = self.request.get('latitude')
personal.info = self.request.get('info')
photo = images.resize(self.request.get('img'), 0, 80)
personal.photo = db.Blob(photo)
personal.lc_id = int(self.request.get('lc_id'))
personal.put()
self.redirect('/admin/personal')
else:
self.response.out.write('I\'m sorry, you don\'t have permission to add this LP Personal Data.')
当我们在谷歌上传我们的头像时,我只是想做类似的结果 聊天/谷歌聊天。
有人解决了这个问题吗?
Thx
答案 0 :(得分:1)
将图片大小调整为80像素高后,您必须使用定义为here的crop
函数。例如:
img = images.Image(self.request.get('img'))
img.resize(0, 80)
resized_img = img.execute_transforms(output_encoding=images.JPEG)
left_x = (resized_img.width - 60) / 2
resized_img.crop(left_x, 0, left_x + 60, 80)
cropped_img = resized_image.execute_transforms(output_encoding=images.JPEG)
在我的例子中,它剪切到图像的中心。 它假设调整后的图像宽度至少为60像素,但显然您必须添加一些检查以确认这一点,因为用户可能无法上传正确尺寸的图像。
答案 1 :(得分:0)
我用了别的东西:
<div>
内显示:width: 60px; height: 80px; overflow: hidden;
这样它会很好地显示在你的列表中,但是你仍然可以在用户的个人资料页面上显示完整的已调整大小的图片(看着你的代码,我想你正在尝试做什么,对吗?)