CentOSにJPEGサポート付きでPIL(Python Imaging Library)をインストールする

ServersMan@VPSCentOS)にJPEGサポート付きでPIL(Python Imaging Library)をインストールしてみる。

1.freetypeのインストール(参考:wikipedia:FreeType

yum install freetype freetype*

2.libjpegのインストール(参考:wikipedia:Libjpeg

JPEGエンコード、デコードを行うためのライブラリ libjpeg をインストール

yum install libjpeg-devel

3.PIL(Python Imaging Library)をインストール

http://www.pythonware.com/products/pil/ から最新版の Python Imaging Library Source Kit をダウンロードする(本日時点では、Imaging-1.1.7.tar.gz)

wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
tar xvzf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
python setup.py build
python setup.py install
python selftest.py を実行し、JPEG support が ok であることを確認

4.テスト
(1) テスト1 …… 以下を流すと下のよな JPG が出来れば OK

import array
import Image
b = array.array('B')
for y in range(256):
    for x in range(256):
        b.fromlist([0, y, x, 255])
im = Image.frombuffer('RGBA', (256, 256), b.tostring(), 'raw', 'RGBA', 0, 1)
im.save('hoge.jpg')

こんな画像が出来ればOK


(2) テスト2 …… web上の画像を読込んで 256×256 のサムネイルに縮小してファイルに落としてみる

import Image
import urllib
from StringIO import StringIO
buffer = urllib.urlopen('http://cdn-ak.f.st-hatena.com/images/fotolife/c/chamuchamu/20110529/20110529113930.png').read()
image = Image.open(StringIO(buffer))
image.thumbnail( (256,256) )
image.save('hoge1.jpg')

上記を実行するとネット上のこんなPNG画像を読込んで

こんなサムネイルを出力すればOK