サマリ | attachプラグインに一括添付とサムネイル生成機能を追加 |
---|---|
リビジョン | 1.0 |
対応バージョン | 1.4.2 |
投稿者 | ARAI |
投稿日 | 2003-11-30 (SUN) 20:44:32 |
ページに添付されたデジカメ画像をExif情報の一部とともに一覧表示するプラグインを作成中なのですが、標準のattachだと、
というのが気になったので、少し改造してみました。
の2点です。
また、サムネイル生成改造に対応してrefプラグインにも手を入れてみました。
→ attach・refプラグイン改造 http://m-arai.s41.xrea.com/closet/20.html
Tarアーカイブ(拡張子.tar)一括添付の際には、「UnTar」をチェックする。
使わせていただきました。が、paintプラグインで吐き出される#ref(hoge.jpeg,wrap,around)を表示してくれませんでした。
拡張子が'jpeg'の場合を考えていませんでした。
--- attach.inc.php 4 Dec 2003 09:38:50 -0000 1.7 +++ attach.inc.php 19 Dec 2003 23:20:51 -0000 @@ -736,7 +736,8 @@ // for japanese (???) $filename = htmlspecialchars(mb_convert_encoding($this->file,'SJIS','auto')); - switch (( $type = strtolower(substr($filename,-3)))) { + switch ( $type = strtolower(substr($filename,strrpos($filename,'.')+1))) { + case 'jpeg': case 'jpg': $src = imagecreatefromjpeg($this->filename); break; @@ -776,6 +777,7 @@ } switch ( $type ) { + case 'jpeg': case 'jpg': imagecopyresampled( $dst, $src, 0, 0, 0, 0, $dw, $dh, $sw, $sh); imageinterlace( $dst, 1);これで表示されると思います。御指摘ありがとうございます。
対応ありがとうございます。大丈夫なようです。exifshowcaseともども使用させていただいてるんですが、Exifデータ編集について不慣れなのでこれから覚えてみようと思います。
自動的に縮小画像を作ってくれる機能が欲しかったので、非常にうれしいです:) 最以前僕がどこかに書いた'info'オプションも取り込んでいただいているようで、感激しました!ありがたく使わせてもらいますm(__)m
jpg以外のサムネイルの作成にimagecopyresized()が使われていますが(attach.inc.php)、これだとサムネイルが汚くなってしまいました。jpgと同じようにimagecopyresampled()を使った方がいいのではないかと思うのですが、いかがでしょうか。
不案内なところでやった改造なので穴も結構あると思いますが、お役に立っていれば幸いです。imagecopyresizedについては、何か理由があった筈ですけど、思い出せません⌣。記憶が甦ったら再検討してみます。
ところで、'info'オプションについてはオリジナルのrefプラグインそのままですよ。
じゃあinfoオプションは思いっきり勘違いでした(^^;;どうも失礼しましたm(__)m とりあえずうちではimagecopyresampledに変更したら、縮小後も綺麗に表示されて幸せになってます:) もしかすると環境によってはうまく動かなかったりするのかもしれませんが・・・
変な質問すみません、使ってみたいのですが導入方法で迷っています。この差分ファイルというのは何かのツールに読み込ませたりして使うのでしょうか? もしかして手動書き換え?(怖
見てみます!ログ汚してごめんなさい
はじめて書き込みさせていただきます.TARファイル内に日本語表記のファイル名 があった場合,文字化けしてしまいます.また文字化けファイルを削除しようとしても削除できないので,以下の様に修正しましたが,問題あるでしょうか... よろしくお願いします.
function untar( $tname, $odir) .... $files[$cnt ]['tmpname'] = $tname; $files[$cnt++]['extname'] = mb_convert_encoding($name,'EUC','auto');// 修正 } } fclose( $fp); return $files; }
その対処で問題はないでしょう。同等の対策がattach・refプラグイン改造に置いてある版には施されています。が、そこにも書いてありますが、2バイトコードファイル名はあまりオススメしません。
ありがとうございます.2バイトコードの件了解したうえで,すごくローカルなところで運営しているので,よしとした上で使用します.ありがとうございました.
refの方で、titleを指定しても無視されるようになったんですが、仕様なんでしょうか?
直しました。ご指摘ありがとうございます。
すいません返信遅れました。ありがとうございます。
キャッシュ機能は、私ならattachに付けるでしょうね。大きさX,Yでthumbを要求された時、元ファイルより新しいCACHE_DIR/thumb_'encode(添付ページ名)'_'encode(添付ファイル名)'_'XxY'があればそれを出力し、無ければサムネイル作成を行い、ファイル保存と画像出力するようにするとか。
頑張って良いものを作ってください。 -- ARAI 2004-09-16 (木) 18:51:09
$dst = imagecreatetruecolor($dw, $dh); if (PNGで保存するなら) { $alpha = imagecolorallocate($dst, 255, 255, 255); // 色の作成 imagefill($dst, 0, 0, $alpha); // 指定色で塗りつぶし imagecolortransparent($dst, $alpha); // 指定色を透明色に imagecolordeallocate($dst, $alpha); // 色リソースの開放 imagesavealpha($dst, TRUE); }
patch -p0 -d . -E < attach_ref.diffとコマンドを実行すればいいんですよね? ダウンロードしたattach_ref.diff.5の後ろの数字は削って。