CHo: 2007年3月アーカイブ


外山恒一の憂鬱

user-pic
0

一躍有名人となった外山さんですが、声変わりされたようなのでご報告まで。

外山さんの選挙ポスターは2種類ありましたが、全何種類あるんですか?
新高円寺駅に行って聞いてきて欲しいなぁ。

【関連記事】
あらためて外山氏動画のまとめ-1万票まであと少し!
外山氏、2票てww

更新をサボり続けたあげく、突然何の前触れもなくRuby on Railsのサンプルコードを知ったかぶって載せてみるテスト。

Ruby on RailsといいつつRailsは関係なくて単にRubyのコードのようです。
1枚の画像から3種類のサイズのサムネイルを作ります。
サイズごとにファイル名の先頭に"l_","m_","s_"のプレフィックスをつけます。
横サイズは指定されたサイズ、縦サイズは元画像の縦横比率を維持して計算されます。
動作環境はWindowsでRuby,ImageMagick,RMagickが必要です。
#!/C:\ruby\bin
require 'RMagick'

# 変換テーブル
sizes = {:prefix => "l_", :size_x=>400},
        {:prefix => "m_", :size_x=>200},
        {:prefix => "s_", :size_x=>100}

# 変換元ファイル
in_file1 = 'C:\\temp\\cat1.jpg'
in_file2 = 'C:\\temp\\cat2.jpg'

# 出力先フォルダ
out_dir = 'C:\\temp\\'

# RMagickのインスタンスを作成
images = Magick::ImageList.new(in_file1,in_file2)

# 画像の個数分繰り返し
images.each do | image | 

  # 変換後画像名を時刻で決める
  out_file = Time.now.to_f.to_s

  # 元画像の縦横サイズを取得
  image_x = image.columns.to_f
  image_y = image.rows.to_f
  
  # 変換テーブルの個数分繰り返し
  sizes.each do | size |

    # 変換後サイズ(横:変換テーブルの値、縦:元画像の縦横比率で計算)
    image_x_min = size[:size_x]
    image_y_min = (image_y/image_x * image_x_min).round
    
    # サイズ変換して保存
    image.resize!(image_x_min, image_y_min)
    image.write(out_dir + size[:prefix] + out_file + '.' +image.format)

  end
end

画像1個に対して複数枚のサムネイルを作るのにファイル名とサイズの対応が面倒じゃのう~って思ってたんだけど、そこはRubyという言語のすばらしさなのかシンプルに表現できた。
VBScript,VB.Net経験が長い自分にとってはこの辺が面白いところ。(しかしハマりどころでもある。カッコの使い方がわからないよ~)

個人的なポイント。
配列をこう宣言すると、
sizes = {:prefix => "l_", :size_x=>400},
        {:prefix => "m_", :size_x=>200},
        {:prefix => "s_", :size_x=>100}
こう使えるのね。
sizes.each do | size |
  p size[:prefix] + "," + size[:size_x].to_s
end
で、出力結果:
"l_,400"
"m_,200"
"s_,100"

ずいぶんまえにメッセで話した誤変換の話。
html化してあったのでアップしとこ。

誤変換

問題提起さん の発言 :○○さん(女性)に「ラフ見せて」って書いたら
問題提起さん の発言 :裸婦見せて
問題提起さん の発言 :ってなって
問題拡大さん の発言 :ぶ
問題提起さん の発言 :いやんでした。
問題拡大さん の発言 :見せてくれた?
問題提起さん の発言 :えちーですわ。
問題提起さん の発言 :エラーが返ってきた。
問題拡大さん の発言 :何えら?
問題提起さん の発言 :501
問題提起さん の発言 :見せてくれたらどきどきですよ。
問題拡大さん の発言 :fobidden
問題拡大さん の発言 :アクセスが許可されていません
問題提起さん の発言 :ああ
問題拡大さん の発言 :internal errorだったのかw
問題提起さん の発言 :「彼女にINSERT権限がありません」とか思い出す。
問題拡大さん の発言 :ぶ
問題提起さん の発言 :内部エラーです。きっと。
問題拡大さん の発言 :構文が間違っています
問題拡大さん の発言 :とか
問題提起さん の発言 :引数の数が違ったのか!
問題拡大さん の発言 :w
問題提起さん の発言 :型変換がうまくいかなかったとかね。
問題拡大さん の発言 :やっとみつけた
問題拡大さん の発言 :Forbidden - Too many users
問題拡大さん の発言 :ですよ
問題拡大さん の発言 ::403.9

このアーカイブについて

このページには、CHo2007年3月に書いたブログ記事が含まれています。

前のアーカイブはCHo: 2007年2月です。

次のアーカイブはCHo: 2007年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。