herokuでimagemagickを使えるらしいのですが、どのバージョンのimagemagickかわからなかったので調べてみました。 以下の環境で実行しました。 heroku-toolbelt/3.0.1 (universal-darwin11.0) ruby/1.8.7 OS名とバージョンの確認 heroku run 'ls /etc/ | egrep "(version|release)$"' heroku run "cat /etc/lsb-release"
![Herokuのサーバーにインストールされているパッケージを調べる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/d61f9ebe65853388cd65f2f91e2c1bd0727f451f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9SGVyb2t1JUUzJTgxJUFFJUUzJTgyJUI1JUUzJTgzJUJDJUUzJTgzJTkwJUUzJTgzJUJDJUUzJTgxJUFCJUUzJTgyJUE0JUUzJTgzJUIzJUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgzJUJDJUUzJTgzJUFCJUUzJTgxJTk1JUUzJTgyJThDJUUzJTgxJUE2JUUzJTgxJTg0JUUzJTgyJThCJUUzJTgzJTkxJUUzJTgzJTgzJUUzJTgyJUIxJUUzJTgzJUJDJUUzJTgyJUI4JUUzJTgyJTkyJUU4JUFBJUJGJUUzJTgxJUI5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02MTc5ZmI2NjFlYTA4MjU2YzRjZGI4OWVmNGNlYzc5NA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwYWFoYXJ1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz01MGZmNDI0OTkwYzNhZTQxMWRiMmRmZmE5N2YwNjkyNA%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D7898063528e6000f57c0ca8267b00aba)
HerokuでRMagickを使おうとしてハマった。結論を先に書くと、requireするときは小文字のrmagickじゃダメで、ちゃんとキャピタライズされたRMagickじゃないといけなかったみたい。MacとWindowsでローカルで使ってたときは小文字で普通に使えてたので、原因に気づくまでちょっと時間が掛かった。あと、BundlerでBundler.requireするときも、そのままでは同じところでハマるので注意が必要。 小文字は不正解 requireに大文字が混じるのは、個人的にはなんとなくダサい感じがするので、小文字で動くなら小文字で書きたいところだけど、RMagickは許してくれなかった。 require 'rmagick' #=> 不正解 require 'RMagick' #=> 正解 前者だとHerokuではApplication Errorになる。エラー時のログの該当箇所を
Herokuは、単体ではファイルをサーバー上に永続的に保存することはできない[^1]ので、RMagickを使って画像を生成してもそれを保存することはできない。ただし、生成した画像をその場で単に表示するだけの目的であれば、永続的に保存する必要はないので、次の2つの方法でRMagickで生成した画像を利用できる。 生成した画像を保存せずにバイナリデータを直接表示する方法 生成した画像を一時保存フォルダに保存して表示する方法 生成した画像を保存せずにバイナリデータを直接表示する方法 生成したRMagickのImageオブジェクトを、to_blobメソッドを使って、直接メモリー上にバイナリデータとして展開し、それを出力する方法。これはメモリーの消費量が多そう。毎回1度だけ表示するようなジェネレータ系には適しているかも。この方法のサンプルコードが以下。 require 'rubygems' requ
昨日のRMagickで使用可能なフォント名の一覧を出力すると同じように、Herokuのサーバー上でSinatraを使ってRMagickで使用可能なフォント名のリストを出力してみた。それほど種類は多くないものの、意外にもHelveticaやPalatinoなどが入っていたり、多くの文字数をカバーするDejaVuのSansとSerifなどが入っていた。個人的に好きなVerdanaやGeorgiaが入っているのも嬉しい。 今回使用した、実際にフォント名のリストを出力しているURLはこちら。 フォント名を出力するSinatraのコード こんな感じで出力するように書いた。 require 'rubygems' require 'sinatra' require 'RMagick' get '/font_list' do font_list = [] Magick.fonts.each do |fon
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く