コンピューター

写真や画像を一括でリサイズできるrubyプログラミング

プログラミングを使って出来る事

プログラム、プログラミングという言葉を聞いた人は多いと思うのですが、具体的にどういう事をしているかという事を知っている人は意外に少ないんじゃないでしょうか。

テレビや映画の影響で、かっこ良くアニメーションする画面に向かって、ワインを飲みながらおしゃれダンディーな男がパスワードを解析する。みたいな事をイメージする人もいるかも知れませんね。

まあそういう世界も実際にあるのかも知れませんが、僕のプログラミングの世界はもっとシンプルというか地味です。

実際の画面

実際の画面

写真をそれぞれ適当なサイズに縮小するプログラムを書きました。

最近、写真の縮小リサイズをするケースが多くなってしまいました。

というのもこのブログでは横1024ピクセルの写真を、もうひとつの写真ブログでは横写真は横1440ピクセル、縦画像は横1280ピクセルの写真を用意しているからです。

いくら1コマンドで縮小作業が出来るとはいえ、写真の内容と名前を見比べながらそれぞれのサイズに変更するとなると結構しんどい事になってきました。

という事でこれらの作業を自動化したいと考えました。

以下が作成したプログラム全文です。

カメラの傾きを記録しているExifデータがなかった

通常デジタルカメラから出力される写真データには、撮影した時のカメラの傾きの情報が記録されています。

これが使えれば今回みたいな長いプログラムを書く必要はなかったんですが、デジタルカメラの写真データを現像する際にどうやら失われてしまうらしく。

仕方がないので、画像の縦横の画素数で判断しようと思いました。

プログラムがやっている事をざっと解説

2行目から37行目までで、写真の名前と画像の縦横比を対で保管してPictureというデータを作っています。

39行目から74行目で、上記のPictureというデータを作るための前準備を行っています。

具体的にいうと、元々のプログラムから得られる画像の情報は

IMG_4717.jpg 5616x3744

というような形なので、名前とサイズをそれぞれ必要な部分のみ抜き取ってPictureデータに格納する準備をしているという事です。

名前:IMG_4717.jpg
サイズX:5616
サイズY:3744

といった具合にですね。

76行目から最後までは、上記に作ったプログラムを目次的に実行する場面になります。

具体的には、1024 、1280 、1440というディレクトリ(フォルダ)を作って、縦画像は1280ピクセルに、横画像は1440ピクセルに、これらを含めた全ての画像を1024ピクセルに変換してそれぞれのディレクトリに格納しています。

これにて、完成です。

1時間半くらいかかりました

傾き情報のあるなしの確認に少々時間を費やして、書き上がるまでにだいたい1時間半くらいかかりました。

しかしこれまで、全ての画像を目でみて、それぞれ縮小して、正しいディレクトリに保存する。とやっていた作業がこれからは1コマンドで出来るようになりました。

おそらく、このプログラムを書くのに要した1時間半はすぐに回収する事ができると思います。

プログラム化する事の本当の威力

このプログラムがあれば、たとえ100個のディレクトリにそれぞれ1000枚の画像が縦横混合で入っていたとしても、ちょっとだけ手を加えて実行してやればパソコンが勝手にそれぞれのサイズに正しく間違いなく変換してくれます。

写真の数が1万になっても2万になっても同様です。たった1つのコマンドを実行して待つだけ。

これが決められた作業をコンピューターによってプログラム化してしまう事の一番大きな利点です。

加えて、パソコンで出来る作業って基本的には全てプログラム化する事が可能なんですね。

普段パソコンを使ってやる事が多い!特に繰り返しの作業がとっても多い!!

という人は是非今からでもプログラミングの技術を学ばれる事をおすすめしますよ!

本日もG線上のきりんを訪れてくださってありがとうございます。

それではまた。

 

この記事が気に入ったらいいね!しよう
🍀

更新情報をお届けします

関連記事

  1. ウェブサービス

    パソコンとウェブサービスを使った情報の保管と、その功罪。

    猫も杓子もインターネットのこのご時世では、みなさんいろんな方法でネット…

  2. Linux

    僕がWindowsではなく、Linuxを使う3つの理由

    以前にも書きました通り、僕はパソコンが大好きです。…

  3. イベント

    実はもくもく会は、いまでも毎月欠かさず開催されているんだよ

    最近ぜんぜん書いてないですが、相変わらずもくもく会の活動は続いているん…

  4. コンピューター

    今買うならコレ!な電子書籍リーダー、タブレット端末

    僕は電子書籍を見るときにNexus7の2013を使って読んでいます。…

  5. コンピューター

    プログラミングの勉強、上達を目指す人におすすめの方法

    今回の記事は、現在プログラミングに興味があって、これから始めようかなと…

  6. お金

    準備はいいですか?ビットコインなど仮想通貨の時代がくるよ

    ビットコインの事はそれこそ発足当初2009年くらいの頃から知っていたと…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

スポンサーリンク

  1. 日記

    心のままで話せるように
  2. 写真

    ぶらぶらと自転車に乗って回って自由を感じた
  3. こころ

    バチなんて当たらないから、思うように生きなさい
  4. コミック

    何かを追究している人が見るべき良作。東村アキコ氏著「かくかくしかじか」を読んで
  5. 日記

    ニッポンのジレンマ。自動化される社会にベーシックインカムが必要な理由。
PAGE TOP