就我而言,有两种方法可以让图像调整大小/裁剪。
在1. case中,调整大小和裁剪效果很好:
f = Image.open(uploaded_image)
new_width, new_height = 1200, 630
wpercent = (new_width / float(f.size[0]))
hsize = int((float(f.size[1]) * float(wpercent)))
if f.mode != "RGB":
f = f.convert('RGB')
og_img = None
if f.size[0] < new_width:
#upscale
og_img = f.resize((new_width, hsize), Image.BICUBIC)
elif f.size[0] >= new_width:
#downscale
og_img = f.resize((new_width, hsize), Image.ANTIALIAS)
og_img = og_img.crop((0, 0, 1200, 630))
调整大小/裁剪图片:
在2. case中,代码与上面的代码相同,但稍有改动:
base64_image = str(request.POST.get('base64_image')).split(',')[1]
imgfile = open('/'.join([settings.MEDIA_ROOT, 'test.png' ]), 'w+b')
imgfile.write(decodestring(base64_image))
imgfile.seek(0)
f = Image.open(imgfile)
#.. as above
但调整大小/裁剪的图片:
为什么它的质量和尺寸都不好? (黑底部分..)我做错了什么?我是以错误的方式读取base64字符串吗?
答案 0 :(得分:0)
我找到了一个网站里面有很多有趣的东西。它有2个(有很多)工具可能对你有帮助。第1个工具将图像转换为base64,第2个工具缩小图像尺寸(最多70个) %save)。