【发布时间】:2016-11-07 09:11:12
【问题描述】:
我希望这个问题在堆栈溢出中没问题。
我正在编写一些代码,但在这个阶段只完成了算法,我想知道我是否会以最好的方式来解决这个问题?
这是我需要做的:
拍摄 2000x2000 像素的图像并使用现有的 JS/Jquery 裁剪/缩放库(尚未确定任何特定的 - 欢迎提出建议)并允许用户移动此图像并放大和缩小以使其适合1000x1000 的区域。这个“裁剪/缩放”的 1000x1000 区域将是用户的最终输出图像。
但是,在实际的 UI 中,出于将其安装在特定空间中的原因,我需要用户以一半大小工作。因此,他们的 1000x1000“最终图像”区域由 500x500px 区域表示。希望这是有道理的。
这是我提出的算法:
原始 2000px x 2000px 图片是 source.png
- 获取 source.png 并在 PHP 中使用 ImageMagick 或类似方法将其大小调整 50%,然后通过 Ajax 将这个新的“临时”1000x1000 图像反馈给我的代码。
- 使用裁剪器/缩放器在 500x500 工作区域后面显示此临时图像,并允许用户裁剪/移动。
- 用户完成后,将缩放器代码中的裁剪/缩放坐标发送到 PHP 例程,该例程通过 ImageMagick 将 X、Y、H、W 乘以将原始 source.png 裁剪为新的 1000 像素 x 1000 像素图像2 并将缩放(比例)除以 2。
我认为这会起作用,并想知道是否有人认为这是这样做的最佳方式,或者我是否遗漏了一些非常明显的东西。
由于上述内容含糊而编辑:
基本上这就是我正在创建的内容:应用程序输出一个 1000x1000 像素的图像,上面有用户选择的文本(为了避免过于复杂,没有提到这一点)。 2000x2000 图像的来源是用户可以从多个图像中进行选择,这将是文本后面的背景图像。用户可以移动和缩放该背景图像,以便他们想要的位在最终的 1000x1000 输出中显示为背景。但是工作区域只有500x500。
【问题讨论】:
标签: javascript php jquery crop image-scaling