我正在寻找一个宝石,以便用户可以裁剪它时,选择一张照片。
用户点击"上传照片",然后当他选择他的照片时,会出现一个表单供他裁剪照片。因为不管你上传的照片大小如何,它们都必须具有相同的尺寸
我尝试过使用npm、cdn和cropper、croppi和cropbox js等库,但没有成功
这是我的代码:
.form__group
.upload__wrapper
= f.input name, as: :file, input_html: { id: "image", :'data-label' => defined?(input_label) ? input_label : 'add file' }
label = "Max 2
pdd:照片上传确实有效,我所期待的是,一旦用户选择任何照片,它会自动给他选择裁剪它
1条答案
按热度按时间zujrkrfu1#
如果你想允许用户选择照片的某个特定部分,那么你应该使用类似于Cropper JS或类似的东西来允许前端级别的用户体验/用户界面。一旦你知道用户选择了哪个部分,你就必须将这些数据(例如用户选择的x-y坐标)发送到后端(rails控制器,模型...)。
在后端,你必须处理照片,裁剪它,这可以用一个宝石,如kt-paperclip(https://github.com/kreeti/kt-paperclip)。
这个gem使用了imagemagick(https://imagemagick.org/index.php)命令,它非常强大,允许你用很多不同的方式来操作照片,你可以编写自己的处理器,根据你提供的输入来应用imagemagick命令。
不确定,但也许你也可以通过ActiveStorage和图像处理实现同样的效果。