获得裁剪图像的代码
x = int(request.POST.get('x'))
y = int(request.POST.get('y'))
h = int(request.POST.get('h'))
w = int(request.POST.get('w'))
user = RegModel.objects.get(id=request.user.id)
user.cropping.delete(save=True)
picture_copy = ContentFile(user.image.read())
new_picture_name = user.image.name.split("/")[-1]
user.cropping.save(new_picture_name, picture_copy)
image = Image.open(user.cropping)
cropped_image = image.crop((x, y, w + x, h + y))
resized_image = cropped_image.resize((200, 200), Image.ANTIALIAS)
resized_image.save(user.cropping.path)
在我的模板中,jquery设置了crope图像x,y,width,height的参数,并将其发送给服务器。 Jquery为我展示了如何看起来歪曲的图像,但服务器后端图像上的图像错误看起来不正确。我的地方在哪里?
答案 0 :(得分:0)
image.crop
()需要一个边界框元组,
该框是一个4元组,用于定义左,上,右和下像素坐标。
目前,假设正x和y,边界框的最后两个元素w + x和h + y大于图像尺寸!这就是为什么你的图片的右边和底部有黑边!
根据所需的结果以及输入x和y的准确程度,您可以尝试(x,y,wx,wy),或者(x / 2,y / 2,w - x / 2,h) - y / 2)。