InDesignバグ画像共有サイトHWNDBasedPanelView.comのサムネイル表示を、CGIからSMALL LIGHTに置き換えた
スポンサードリンク
年末にCentOS 5環境に導入しようとして断念した、livedoor EDGEのSMALL LIGHTというapacheモジュール
livedoor ラボ「EDGE」 開発日誌 : 画像サムネイル作成モジュール「SMALL LIGHT」 公開のお知らせ - livedoor Blog(ブログ) [blog.livedoor.jp]
ですが、CentOS 5環境でパッチを当ててインストールで来たというお話が
CentOS5 に SMALL LIGHT をインストール - aki77の日記 [d.hatena.ne.jp]
でありましたので、やってみました。
パッチを提供していただきありがとうございます。
結論から言うと、パッチとして公開されているものが、タブをスペースに置き換えてしまっているために、パッチが充たりません。よって、こっちを使ってください。
Filename: Makefile.in.20110105.diff
--- Makefile.in.orig 2011-01-05 19:57:19.000000000 +0900 +++ Makefile.in 2011-01-05 19:58:46.000000000 +0900 @@ -15,8 +15,7 @@ CFLAGS=@CFLAGS_IMLIB2@ @CFLAGS_WAND@ all: - $(APXS) -c "$(CFLAGS) $(IMLIB2_INCLUDES) $(IMLIB2_LIBS) $(WAND_INCLUDES) $(WAND_LIBS)" \ - mod_small_light.c mod_small_light_*.c + $(APXS) -c $(CFLAGS) $(IMLIB2_INCLUDES) $(IMLIB2_LIBS) $(WAND_INCLUDES) $(WAND_LIBS) mod_small_light.c mod_small_light_*.c install: $(APXS) -ia mod_small_light.la
「Makefile.in.20110105.diff」をダウンロード
上記を、mod_small_light-1.0.0ディレクトリ内でMakefile.in.20110105.diff という名前で保存(ちゃんとタブコードが生きた状態で)します。
あとは、パッチの充て方としては、
$ patch < Makefile.in.20110105.diff
でMakefile.inにパッチが当たりますので(patchコマンドがない場合は、yumでインストールしましょう)、
$ ./configure --with-apxs=/usr/sbin/apxs $ make $ su Password: # make install # /sbin/service httpd restart
で、apacheに組み込まれるはずです。
実際に組み込んでみたのがこれ。
http://hwndbasedpanelview.com/
今回入れたmod_small_light、活用していきたいですねー。
間に合わせで使っていたCGIは、こんなの。
Filename: thumbnail.cgi#!/usr/bin/perl use strict; use warnings; use Image::Magick; use CGI; use File::Spec; use FindBin::Real; my $base_dir = FindBin::Real::Bin(); my $image_dir = 'upload'; my $RESIZE_X = 75; my $RESIZE_Y = 75; my $q = CGI->new; (my $filename = $q->param('file') ) =~s/[^\w.]//g; my $im = Image::Magick->new(size => ${RESIZE_X}x${RESIZE_Y} ); $im->Read( File::Spec->catdir($base_dir, $image_dir, $ filename) ); my ( $x, $y ) = $im->Get( 'width', 'height' ); if ( $x > $y * $RESIZE_X / $RESIZE_Y ) { $im->Thumbnail( width => $x * $RESIZE_Y / $y, height => $RESIZE_Y ); $im->Crop( width => $RESIZE_X, height => $RESIZE_Y, x => ( $x * $RESIZE_Y / $y - $RESIZE_X ) / 2, y => 0 ); } else { $im->Thumbnail( width => $RESIZE_X, height => $y * $RESIZE_X / $x ); $im->Crop( width => $RESIZE_X, height => $RESIZE_Y, x => 0, y => ( $y * $RESIZE_X / $x - $RESIZE_Y ) / 2 ); } $im->Set(quality=>70); print $q->header(-type => 'image/jpeg'); binmode STDOUT; # Win時のおまじない $im->Write('jpeg:-'); # JPEGで書き出し undef $im; exit;
Image::Magick を使って大量画像のサムネイル画像を一括自動生成 :: drk7jp [www.drk7.jp}
を参考にしました。uploadディレクトリに画像hoge.pngが入っているとして、http://example.com/thumbnail.cgi?file=hoge.png とかして使います。
スポンサードリンク
トラックバック(1)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3457
CentOS 5に無理やり入れた、livedoor EDGEのSMALL LIGHT livedoor ラボ「EDGE」 開発日誌 : 画像サムネイル作成モジュール「SMALL LIGHT」 公開のお知らせ - livedoor Blog(ブログ) [blog.livedoor.jp] ですが、モジュール組み込んで1時間するとhttpdが反応しなくなる。 うち20個ぐらいのサービスを1つのサーバでやっているから、さすがに止まると困るので、とりあえずはずしたよ。 livedoorではどういう環境で動か... 続きを読む
コメントする