【问题标题】:Problem with image centering while cropping裁剪时图像居中问题
【发布时间】:2019-10-23 09:40:49
【问题描述】:

我有一个带有单个图像裁剪的简单组件。但是我无法正确居中裁剪的图像。

看看我的工作代码:https://codesandbox.io/s/sharp-mayer-b371f?from-embed

您会看到图像裁剪效果非常好,裁剪后的图像出现在父图像下方。

但是,您还会注意到裁剪后的图像没有正确居中,有时它移动得太右,有时太左等等。

您还将看到裁剪图像的高度和宽度以及父图像上的标记区域是相同的。仍然很难,缺少一些小部分。

寻求帮助,谢谢!

附:无法在堆栈溢出 sn-ps 中删除代码,因为它太复杂并且依赖于名为“Jcrop”的 npm 包。 要对其进行测试,只需单击父图像并移动光标即可。

【问题讨论】:

  • 抱歉没看懂你的第二个问题,只回答了第一个问题(轮班问题)
  • 相关了解使用background-position时%和px的区别:stackoverflow.com/a/51734530/8620333

标签: javascript css reactjs crop jcrop


【解决方案1】:

您的图像被移动,因为您使用background-position-x: ((x / width) * 100) %(y 类似)来显示裁剪后的图像,这是错误的。

对于移动背景 n 像素,您不能使用百分比(原因如下:https://stackoverflow.com/a/47329797/4718434)。 相反,您可以使用:

background-position: -x px

所以将你的反应代码更改为:

const marginLeft = - pos.x + "px";
const marginTop = - pos.y + "px";

沙盒:link

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 2013-03-05
    • 2011-10-05
    • 2015-09-30
    • 2014-04-05
    • 2012-12-12
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    相关资源
    最近更新 更多