[英]Python PIL crop doesn't crop image
我具有以下功能来裁剪图像:
def crop(original_image):
original_image = Image.open(original_image)
original_image.crop((25, 25, 50, 50))
#original_image.load()
thumb_io = StringIO.StringIO()
original_image.save(thumb_io, format='JPEG')
thumb_file = InMemoryUploadedFile(thumb_io, None, 'foo2.jpg', 'image/jpeg',
thumb_io.len, None)
return thumb_file
保存的图像只是原始图像,没有任何尺寸编辑。 我尝试了负载而不是负载,但这并没有什么不同。
原始图像为300 x 450。
我无法通过任何裁剪编辑保存图像,这是我做错了吗?
更改此行:
original_image = original_image.crop((25, 25, 50, 50))
因为crop函数的返回值是一个rect区域,但是您不保存它!
看来我需要将农作物返回值提取到一个变量中:
img_io = StringIO.StringIO()
original_image = Image.open(original_image)
new_image = original_image.crop((20, 20, 125, 125))
new_image.save(img_io, format='JPEG', quality=100)
img_content = ContentFile(img_io.getvalue(), 'foo6.jpg')
return img_content
您可能需要更改行
thumb_file = InMemoryUploadedFile(thumb_io, None, 'foo2.jpg', 'image/jpeg',
thumb_io.len, None)
至
thumb_file = ContentFile(thumb_io.getvalue(), 'foo2.jpg')
我想你打算将图像文件保存到数据库中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.