Personal tools

ImageTag_Hotfix

ImageTag_HotfixというものがZope.orgに上がっていたので,さっそくウチのRECENT IMAGESモジュールのサムネイル画像のガビりを直すべく立ち上がる。

ImageTag_Hotfixは,ZopeのImageにHot Fixをあてて,サムネイル画像を動的に生成できるようにするProduct。

PILに依存しているので,まずコイツをインストール。SourceKitの最新版をダウンロード,展開したディレクトリーに移動して

$cd libImaging
$./configure
$make

Super Userになって

#python2.1 setup.py install

でオッケー。

あとは,普通のZope Productと同じ要領でImageTag_Hotfixをインストール。

サムネイル画像を表示したい場合は,

<dtml-var "ImageのID.tag(width=xx,height=xx)">

みたいにする。Imageのtagにheight,widthやxscale,yscaleを指定すると,画像/thumb?height=69&width=60みたいなURLが乗ったimgタグを生成する。thumbというmethodでサムネイル画像が動的に生成されるわけです。

なんかいまいちガビりが取れない。PILのドキュメンテーションによると,サムネイル作成時に,バイリニアとかバイキュービックとかアンチエイリアスとかいったフィルターを指定できるらしい。ImageTag_Hotfixにある__init__.pyの45行目に,PIL.Image.ANTIALIASと付け加えてみたがあまり変わらない。

PILのソースを追ってみようかと思ったけどヤめた。これ使ってみたりしたほうがいいんだろうか。

Category(s)
zope
COREBlog
The URL to Trackback this entry is:
http://coreblog.org/ats/193/tbping

ニアレストネイバー法とかバイキュービック法で

Posted by yasusii at 2004-01-03 21:35
補間するの簡単みたい。PyDS では PictureTool.py でこんな感じ。

interpolationAlgorithms = {
}
image = image.resize((x, y), InterpolationAlgorithms[interpolation][1])

Re: ImageTag_Hotfix

Posted by ats at 2004-01-04 21:08
>yasusiiさん

ありがとうございましたm(_ _)m
ご紹介のコードと等価であるはずの
image.thumbnail((x,y),PIL.Image.NEAREST)

とか
image = image.resize((x,y),PIL.Image.NEAREST)

などとやってみたのですが,やはり変わりませんでした。ドキュメンテーションには,フィルターを指定しないとNEAREST(ニアレストネイバー法)が使われるとあって,コード上もそのようになっているようなのですが。。。
なんかインストールの仕方がおかしいのかな?

Re: ImageTag_Hotfix

Posted by yasusii at 2004-01-04 23:00
一見あまり変わらないようですが、画面右側道路の白線とか、画面中央を水平に走る街路樹のラインあたりをよく見ると分かります。Mozilla なんかでタブを切り替えながら比較するともっとわかりやすい。

Re: ImageTag_Hotfix

Posted by ats at 2004-01-04 23:08
>yasusiiさん

うわ,サンプル画像恐縮です(^^;
当方SleipnirというIEベースのタブブラウザを使っておりまして,切り換えつつ確認してみました
たしかに微妙に違いますね
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
コメントスパム避けのための認証文字列です

Captcha Image

Pythonな求人
r = urlopen("http://www.webcore.co.jp/recruit")
About this blog
■Author


atsこと柴田淳です。Atsushiはガイジンにうまく発音して頂けないので,これからはJunというペンネームで行こうと思っていましたがあんまり使ってません。
Webcore株式会社 代表取締役
■TRIVIAL TECHNOLOGIES 2.0
トリビアル・テクノロジー 2.0,「トリテク 2.0」と呼んでください。
Blog(ブログ)サイトです。Plone上で動く,オープンソースのBlog Product - COREBlog2を使っています。
 
最近書いた本,Mook
みんなのPython Webアプリ編
Pythonの基礎から,Webアプリやフレームワークの仕組みまで,つまることなく一気に学べる書籍です。「みんなのPython」と一緒に読んでください:-)。
みんなのPython
Pythonの入門書です。基本的なことから分かりやすく解説するよう勤めました。Pythonをはじめたいと思っている人,JavaやC++,PerlやRubyを学ぼうと思って躓いてしまった人はぜひ読んで下さい。
 

Powered by Plone, the Open Source Content Management System