牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

画像サイズをPythonで取得してみた

若干修正


htmlとか書く時に、画像サイズを取得してほにゃららできたら便利かなーとか思ってやってみた。
(MacOSX10.4, Python2.5)

要PIL(Python Imaging Library)

macports

sudo port install py25-pil

とかでインストールするのが簡単かも。

コード

get_image_size.py

#!/usr/bin/env python
# *-# -*- coding: utf-8 -*-

import PIL.Image
import os.path
import sys

def get_image_size(path, dir=""):
    f = PIL.Image.open(path)
    file_name = dir + os.path.basename(path)
    return '<img alt="" src="%s" width="%d" height="%d" />' % (file_name,
                                                               f.size[0],
                                                               f.size[1])

if __name__ == '__main__':
    path = sys.argv[1]
    d =  sys.argv[2] if 2 < len(sys.argv) else "style/img/"
    size = get_image_size(path, dir=d)
    print size

dirを指定してない場合の画像ファイルの場所 "style/img/" にしてみた。

ターミナルとかで実行してみる

python image_size.py "ファイル名" ("オプションでディレクトリ名"で変更) で実行
例:ディスクトップにあるhoge.jpgの画像サイズを取得してみる

その1
python get_image_size.py ~/Desktop/hoge.jpg

結果

<img alt="" src="style/img/hoge.jpg" width="49" height="98" />
その2 ディレクトリ名をファイル名に追加
python get_image_size.py ~/Desktop/hoge.jpg "mogera/"

結果

<img alt="" src="mogera/hoge.jpg" width="49" height="98" />


こんな感じでどうかな?
ほんとはemacs lispで欲しいんだけども...