Rubyで画像加工!モブログ画像編集アプリをRubyPico一本にまとめてみよう!

Rubyで画像加工!モブログ画像編集アプリをRubyPico一本にまとめてみよう!

モブログ用の画像編集アプリは1本にまとまらないとわかっていながら…

存在を知っていながら、後回しにしていたRubyで画像の編集ができるアプリ「RubyPico」を使い始めました。

これ、よくよく触っていろいろ書き出すとかなりボリューミーな記事になりそうなので、細々とアウトプットしていこうと思います。

今回は「画像のリサイズ」編です!

Rubyで画像の編集ができるアプリ「RubyPico」

Ruby初学者。 よっひー(@yosiakatsuki)です。

やれることが決まった画像編集アプリでは自分のやりたいことが1アプリでやりきれない…

かといって、なんでもできる高機能アプリだと操作が複雑になって、使ってるだけで疲れる…

なんて、モブログをする上で画像の編集作業の悩みは絶えません。

おそらくそんな悩みを解決してくれるのではないかと期待しているのが、iPhone上でRubyを動かしていろいろと画像編集の処理を組める「RubyPico」です!

まだ僕も触り始めたばかりで探り探りなのですが、今回はまず「画像をリサイズする」処理を組んでみたいと思います。

「RubyPico」で画像のリサイズ

アプリの起動とスクリプトの作成

今回は使い始めになるので、簡単な操作から説明していきます。

RubyPicoのスクリプト作成

アプリを起動すると、スクリプトの選択画面になり、右上の「+」アイコンからスクリプトを追加します。

スクリプトの名前を入力して、スクリプトの準備完了です!

スクリプトの編集

スクリプトの編集。最初にサンプルコードが入ってます

スクリプトの一覧から、編集したいスクリプトを選びます。

新規追加されたスクリプトにはサンプルのコードが入っていました。

スクリプトにはChatクラスかmain関数が必須になります。

画像編集の処理を書くならばmain関数に処理を書いていくことになりますね!

使える関数の一覧

使える関数の一部を見ることができる

「リファレンス」というほど細く説明はありませんが、使える関数などの一覧をスクリプト編集画面右上の「?」から見ることができます。

実際に画像をリサイズする処理を書いてみた

さて、それではiPhone内の画像を1枚選んで横幅800pxにリサイズするスクリプトを書いてみました。

def main
  #横幅800pxにしたい
  w=800
  imgw = 0
  imgh = 0
  #一応目標サイズを表示しとく
  puts "resize width:#{w}px"
  #画像を選ぶ
  img = Image.pick_from_library
  #サイズをとっておく
  imgw = img.width
  imgh = img.height
  #縦横比から高さを計算
  h = w * (imgh / imgw)
  #リサイズ
  img.resize(w,h)
end
スクリプトの実行は「Run」から

スクリプトの実行は右上の「Run」から。

スクリプトを実行すると、画像の選択になるので、リサイズしたい画像を選びます。

リサイズされた画像が表示されるので「Save」で保存

あっという間にリサイズされた画像が表示されるので、右上の「Save」で画像を保存できます!

リサイズ前後の画像の情報。Exifまで削除されていて容量圧縮までできてる!

画像のExif情報を見れるアプリでサイズを確認してみます。

左がリサイズ前、右がリサイズ後の画像の情報です。

ちゃんとリサイズされてる上、Exif情報がいろいろ削除されてます!(地味にありがたい)

今回のまとめ

とりあえず、自分でプログラム組んで画像の編集をすることができました!

今回紹介したスクリプトでは、画像を1枚リサイズするたびに自分でSaveしなければいけないので実用的ではないですが…

なんとなく動きがわかったので、今後は複数枚まとめてリサイズしたり、いろいろフィルターかけたりしてみようと思います。

文字入れ以外の処理は「RubyPico」1本で済ませるのが目標です!

よっしーのひとこと

よっひー

実は「RubyPico」に名前が変わる前の「PictRuby」からダウンロードはしてあったのですが、ようやく触り始めたという感じです。

いろいろ可能性は広がるのですが……iPhoneプログラミング用にキーボード欲しい…

ではまた。