LoginSignup
1
0

More than 3 years have passed since last update.

Rails6 のちょい足しな新機能を試す53(tiff 編)

Posted at

はじめに

Rails 6 に追加されそうな新機能を試す第53段。 今回は、 tiff 編です。
Rails 6 では、variant メソッドが tiff フォーマットの画像ファイルをサポートするようになりました。

Ruby 2.6.3, Rails 6.0.0.rc1, Rails 5.2.3 で確認しました。Rails 6.0.0.rc1 は gem install rails --prerelease でインストールできます。

$ rails --version
Rails 6.0.0.rc1

準備

今回は、 Rails6 のちょい足しな新機能を試す15(Active Storage編) を元にして作業を進めます。

Gemfile に MiniMagick を追加する

画像を変換するために MiniMagick を使用します。

Gemfile
...
gem 'mini_magick'
...

show ページを修正する

show ページで、 variant メソッドを呼び出して画像ファイルをリサイズしてみます。
元の画像ファイルと、 50x50 に変換した画像を表示します。

app/views/users/show.html.erb
  ...
  <% if @user.avatar.attached? %>
    <h2>original size</h2>
    <%= image_tag @user.avatar %>
    <h2>50x50 size</h2>
    <%= image_tag @user.avatar.variant(resize: "50x50") %>
  <% end %>
  ...

ユーザー登録して確認する

ブラウザからユーザーを登録します。
このとき画像ファイルとして tiff ファイルを選択します。
詳細画面を表示するとサイズを変換した画像が表示されます。

なお、 tiff ファイルは、 IE や Safari であれば表示できますが、 Firefox や Chrome では表示できないようです。
ですが、サイズ変換した画像は、 PNG フォーマットになるので、変換した画像は、 Chrome でも表示できました。
下は、Chrome のスクリーンショットです。

variant.png

Rails 5 では

ActiveStorage::InvariableError が発生します。

試したソース

試したソースは以下にあります。
https://github.com/suketa/rails6_0_0rc1/tree/try053_accept_tiff_by_variant

参考情報

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0