2012-05-04 9 views
8

ImageMagickを使用して画像を操作するインターフェイスとしてmini_magickを使用しています。 サイズ変更はうまく動作します。私はいくつかの画像をトリミングしたいときには:mini_magickを使用して画像を切り抜くことができません

img = MiniMagick::Image.open(url) 
img.crop('200x800!') 

それは常に私が推測間違ったキーフレーズで検索して、No such file

No such file or directory - /var/folders/c4/mqlwdx_d3kj6hqcnvbjr9mn80000gn/T/mini_magick20120504-11111-16kayc1.png 

答えて

30

ああを求められます。正しい答えは私がminimagickの代わりにmini_magickの代わりに検索するときに来ます。 特にこの答えはhttps://stackoverflow.com/a/9961434/179691

私はmini_magickのことを知っていただけで、mogrifyのラッピングです。私の問題の原因は、-cropがフルフォーマットのジオメトリのみを受け入れることです。そこで式を

img.crop('200x800+0+0') 

に変更しました。念のため

+0

jekyll-minimagickとretinamagickにも機能します! '' '作物:" 640x480 + 0 + 0 "' '' – malcolm

1

誰も私のために行うための正しい方法は以下の通りです、アマゾンS3に直接画像をトリミングしてアップロードするCarrierwaveを使用している場合:

image_uploader.rb

url=model.remote_image_url 
crop_params="#{w}x#{h}+#{x}+#{y}" 
manipulate! do |img| 
    img = MiniMagick::Image.open(url) 
    img.crop(crop_params) 
    img = yield(img) if block_given? 
    img 
end 

理由Iを私はそれはいくつかのデフォルトのテンポだと思う

mogrify.im6: geometry does not contain image `/tmp/mini_magick20150811-15523-ac8go1.jpeg' 

:「IMG = MiniMagickを追加する::私は自分の画像を指定しない場合、それは私に次のエラーがスローになるのでImage.open(URL)はmはmini_magickが画像を見つけようと試みるが、画像はS3で遠隔に保持されているので、それを見つけることができなかった。

関連する問題