Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to Change Wrapper Color to White #48

Closed
kristinadjuricic opened this issue Dec 7, 2023 · 5 comments
Closed

Unable to Change Wrapper Color to White #48

kristinadjuricic opened this issue Dec 7, 2023 · 5 comments

Comments

@kristinadjuricic
Copy link

Hi, I have been attempting to change the color of the wrapper
from black to white. Despite my efforts, when I set it to white, I only get a shade of gray. However, if I choose any other color, it appears as expected. Is it possible to have the wrapper in white?

Screenshot 2023-12-07 at 12 47 42
@Norserium
Copy link
Collaborator

@kristinadjuricic, actually, you'have changed the cropper background to white.

Why it is still gray? The answer is simple, cause it becomes gray due to stencil's overlay, that used to distinguish the cropped area and the other content.

Take a look at this example:
image

The background is white, but its parts are white only when they belong to the cropped area, otherwise they become gray.

Let's try to limit the stencil's overlay to image only now.
image

That's the trouble.

Could you tell me more about your use-case? What is the desired result?

By the way, there is the workaround to make the background white that I've used to make the screenshot above.

@ps-kristina-djuricic
Copy link

In my case, I'm using a CustomWrapper that was created in this way to implement a zoom slider:
`const CustomWrapper = ({ cropper, children }) => {
const state = cropper.getState();
const settings = cropper.getSettings();
const absoluteZoom = getAbsoluteZoom(state, settings);

const onZoom = (value, transitions) => {
	const zoomValue = value > 1 ? 0 : value;

	cropper.zoomImage(getZoomFactor(state, settings, zoomValue), {
		transitions: !!transitions
	});
};

const contentStyle = {
	display: 'flex',
	width: '852px',
	height: '365px',
};

const navigationStyle = {
	display: 'flex',
	alignItems: 'center',
	maxWidth: '400px',
	width: '100%'
};

return (
	<CropperFade visible={state && cropper.isLoaded()}>
		<div style={contentStyle}>{children}</div>
		<div style={navigationStyle}>
			<ZoomControls zoom={absoluteZoom} onZoom={onZoom} />
		</div>
	</CropperFade>
);

};`

The height and width of the content have been added. What I would like to achieve is for the area where there is no image,the area to the left and right of the image, to be white. One of the features I would like to add is that when "solid color" option is selected, the visual effect should be displayed accordingly, the selected color should fill that empty space, but due to this gray overlay, it's not possible to achieve it successfully. However, with the current structure of CustomCropper, it seems to me that it's not possible to achieve this. Is there any workaround or advice for this case?

@Norserium
Copy link
Collaborator

@kristinadjuricic, did you try my workaround?

@ps-kristina-djuricic
Copy link

I applied your solution/workaround, and it works. We can now close this issue. Thank you for your help :)

@Norserium
Copy link
Collaborator

@ps-kristina-djuricic, you are welcome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants