我正在运行一个接受用户屏幕截图的rails应用。我们希望在非常具体的维度上生成更小版本的屏幕截图(652x408。为什么?请问前端人员。)我们目前正在使用Carrierwave和Minimagick完成此任务。
我已经尝试过resize_to_fill和resize_to_fit调整大小的方法,但是它们总是留下一些带输入的空格。我试图诉诸我自己的自定义版本,但我对imagemagick语法很失落。
无论如何,我试图实现这一点,但我不知道最好的方法。这种事情有标准的算法吗?
答案 0 :(得分:4)
您可以使用Jcrop和Carrierwave裁剪图像。喜欢这种效果
这是一些代码https://github.com/luckyyang/imagecrop但是它使用的是Carrierwave的Paperclip instand。
在carriewave中,有一些代码
version :thumb do
process :crop
resize_to_fill(240, 320)
end
# crop image
def crop
if model.crop_x.present?
resize_to_limit(1280, 1280)
manipulate! do |img|
x = model.crop_x
y = model.crop_y
w = model.crop_w
h = model.crop_h
img.crop("#{w}x#{h}+#{x}+#{y}")
img
end
end
end
我对自己糟糕的英语感到抱歉。我希望这可以帮到你