繁体   English   中英

Python PIL裁剪不会裁剪图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM