Как использовать react-image-crop с обрезкой бэкенда на python-django?
Я пытаюсь использовать Python Pillow для обрезки изображений с помощью react-image-crop
и, кажется, все работает хорошо, но я не могу понять, как установить scale
(масштабирование) для работы с бэкендом. Любая помощь будет очень признательна!
Frontend- (React)
const scaleX = imgRef.current.naturalWidth / imgRef.current.width
const scaleY = imgRef.current.naturalHeight / imgRef.current.height
const pixelRatio = 1
const cropX = crop.x * scaleX
const cropY = crop.y * scaleY
const width = Math.floor(crop.width * scaleX * pixelRatio)
const height = Math.floor(crop.height * scaleY * pixelRatio)
const formData = new FormData()
formData.append('crop_x', cropX)
formData.append('crop_y', cropY)
formData.append('crop_height', height)
formData.append('crop_width', width)
formData.append("image", localImage)
const response = await axios.post('/image/upload/', formData)
Бэкенд - (Django)
from PIL import Image
temp_image = Image.open(form.image)
left_x = float(form.get('crop_x'))
top_y = float(form.get('crop_y'))
right_x = left_x + float(form.get('crop_width'))
bottom_y = top_y + float(form.get('crop_height'))
thumbnail_image = temp_image.crop((left_x, top_y, right_x, bottom_y))