ValentinH / react-easy-crop

A React component to crop images/videos with easy interactions
https://valentinh.github.io/react-easy-crop/
MIT License
2.34k stars 167 forks source link

objectFit="cover" prevents to zoom out #566

Closed mightym closed 8 hours ago

mightym commented 2 months ago

Describe the bug When I use objectFit="cover" together with aspect={1} cropShape="round" I can't zoom the image to fit the crop area. The crop area is always smaller than the possible max crop area available:

In that screenshot my image is a square image. And you can see that there is still a lot of space left to zoom in. But you can't:

1

To Reproduce Steps to reproduce the behavior:

  1. Open the example below
  2. Upload a small square image

Expected behavior I expect to zoom in on the image so that it fully covers the crop area.

ValentinH commented 2 months ago

Do you expect to zoom in or out? The thing is that zooming out would lead to empty spaces at the top and bottom of the image..the library prevents that by default. However, you can set restrictPosition to false to disable this.

mightym commented 2 months ago

I leave you my sample image here. Also try to make your browser window smaller and larger. Both zoom direction have in the example screenshot above enough space.

10

Will try to prepare a screen capture video for you.

mightym commented 2 months ago

This is after I selected the image:

https://github.com/user-attachments/assets/be4c4aea-cdfd-4cbf-a765-93a2ff50c9af

ValentinH commented 2 months ago

The thing is that zoom: 1 means that the image covers its container. If your cropped area is squared then it's better to have the container to be a square as well.

See this quick example: https://codesandbox.io/p/sandbox/react-easy-crop-custom-image-demo-forked-cghhr6

image
arastu-diwan commented 23 hours ago

Hi ValentinH,

I tried your solution to enable zooming out while cropping the full image, but if we try to crop the full image, there is some transparent space that also comes after the cropped image. I only want the image and don't need this extra transparent space. How to resolve this issue now?? Screenshot 2024-11-27 200854

ValentinH commented 20 hours ago

This transparent area means that your actual cropping logic (the one that takes the original image and produces the new one) should be adapted to remove this empty space. This is outside of the library.