From e517d87d7e10e7abf1a22a837d227e4cb93b269f Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Mon, 20 Jan 2020 19:00:36 +0300 Subject: [PATCH] fix cropper --- apps/gallery/serializers.py | 10 +++++----- apps/utils/models.py | 8 +++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/gallery/serializers.py b/apps/gallery/serializers.py index 89b79fb9..41e75cd7 100644 --- a/apps/gallery/serializers.py +++ b/apps/gallery/serializers.py @@ -94,13 +94,13 @@ class CropImageSerializer(ImageSerializer): """Overridden create method.""" width = validated_data.pop('width', None) height = validated_data.pop('height', None) - quality = validated_data.pop('quality') crop = validated_data.pop('crop') - + x1, y1 = int(crop.split(' ')[0][:-2]), int(crop.split(' ')[1][:-2]) + x2, y2 = x1 + width, y1 + height crop_params = { - 'geometry': f'{width}x{height}', - 'quality': 95, - 'crop': crop, + 'geometry': f'{self._image.image.width}x{self._image.image.width}', + 'quality': 100, + 'cropbox': f'{x1},{y1},{x2},{y2}' } cropped_image = self._image.get_cropped_image(**crop_params) image = self._image diff --git a/apps/utils/models.py b/apps/utils/models.py index 1bcbb0a0..d58a1bbc 100644 --- a/apps/utils/models.py +++ b/apps/utils/models.py @@ -230,17 +230,19 @@ class SORLImageMixin(models.Model): else: return None - def get_cropped_image(self, geometry: str, quality: int, crop: str) -> dict: + def get_cropped_image(self, geometry: str, quality: int, cropbox:str) -> dict: cropped_image = get_thumbnail(self.image, geometry_string=geometry, - crop=crop, + # crop=crop, # upscale=False, + cropbox=cropbox, quality=quality) return { 'geometry_string': geometry, 'crop_url': cropped_image.url, 'quality': quality, - 'crop': crop + # 'crop': crop, + 'cropbox': cropbox, } image_tag.short_description = _('Image')