我最近遇到了一个通过imagemagik库裁剪图像的用例。
我正在使用一种巧妙的方式来裁剪图像,使用转换命令如下:
#left,top #right,bottom
convert source.png -crop +1300+650 -crop -337-226 destination.png
所以基本上,它从左、上、右和下四个方向对图像进行剪切。我如何在UI中构建这个功能,它将帮助用户通过选择图像上的区域/框来实际裁剪图像,并获得裁剪后的图像作为回报。(避免了知道他们想要切割的确切像素的麻烦(
最快的方法显然是使用一个可用的JS图像cropper,并将其与前端使用的任何东西集成。
当然,如果你喜欢的话,你可以自己构建整个UI。。。如果有人让我这么做,我可能会做这样的事情:
- 使用
canvas
元素 - 在那里加载上传的图像
- 让用户在上面画一个矩形(请参阅此处的示例(,这将为您提供需要知道的坐标
- 使用所述坐标裁剪图像服务器端,并将其发送回浏览器