画像をアップロードしてアイテムに追加したときに
画像のサイズが大きいときにサムネイルを表示
したいのですが当方のphp GD Version が1.6.2 の
ためThumbnail 1.6のプラグインが利用できません
上記の条件で何かサムネイルを生成できるプラグインはありませんでしょうか
ずばり解決していただいた方には500ポイントさしあげます
Thumbnail3.0(静的生成)の方はどうでしょうか?
http://phpthumb.sourceforge.net/#download
同種のプラグインに、こういうのもあるようです。
英語サイトから見つけました。
どちらかが動くといいのですが。
http://wakka.xiffy.nl/popupimage
http://wakka.xiffy.nl/popupimagenetpbm
後者の方はGDを使ってなくて、netpbmというライブラリを使っています。
このライブラリはrootでなくともインストールできるようです。
hamster001さん
ご丁寧に再度おしらべいただきありがとうございます!
ご教授いただいた2つはどちらもimagemagickをひつようとするようで、、、
対象サーバーちょっとしょぼしょぼなサーバーでimagemagickも入ってないんです(泣
画像を縮小表示するような感じでもいいんですけどなんかないもんですかねー
GDでサムネイルを表示するプログラムを追加するということでしたら、下記のサイトが参考になるかと思います。
http://noongoro.main.jp/note/note0052.html
http://www.sakura-pc.jp/php/gd.shtml
単にサムネイルを表示したいのであれば、サムネイル画像を生成せずとも、HTMLタグだけでサムネイルの表示が可能です。
http://www.htmq.com/html/img.shtml
以上、ご参考までに。
>tomoyuki28jpさん
ご回答ありがとうございます!
上から2つめのページが参考になりました
phpでプログラムを書いたことはないのですが
Thumbnail 1.6系のpluginで使われている
ImageCreateTruecolor等gd2.0に依存する関数を書き換えればつかえるのかな、、、とか
ちょっとタグ等で自分で作成するのではなく、プラグインで利用可能な物をさがしているので、もうちょっとまってみます
大変参考になりました ありがとうございます
>したいのですが当方のphp GD Version が1.6.2 の
>ためThumbnail 1.6のプラグインが利用できません
Thumbnail 1.6とは
http://japan.nucleuscms.org/wiki/plugins:thumbnail?do=show
のNP_Thumbnail.phpのことでしょうか。
ソースを見た感じではバージョンによって弾いてるところは見当たらなかったのですが、利用できないとはGIFが使えないということではないでしょうか。
GIFは特許の問題かと思いますがGD1.6以前とGD2.0.28以降でないとGIFは使えないようです。
よってGD Version が1.6.2ではGIFが使えません。
何かのツールでGIFからPNGに変換すればNP_Thumbnail.phpが使えるのではないでしょうか。
GIFが使えるかどうかはphpinfo()でgdの項目をみればわかりますが
GIF Read SupportになっていればPNGで出力するようにNP_Thumbnail.phpを変えるのは可能だと思います。
>tobeoscontinueさま
丁寧にお調べいただきありがとうございます!
ご呈示されたURLのNP_Thumbnail.php 1.6なのですが当方でプラグインをインストールし、jpg画像をアップロードし、
無名のポップアップ画像タグをアイテムに挿入したのですが、サムネイルが生成されない状況です、、、、
フォーラムをみると似たような状況の方がいらっしゃって、php GD Versionが2.0以下で
だめだったとのようなことが書いてありましたので、、、
利用できればNP_Thumbnail.phpでも問題ないのですがなにか他に原因となる要素があるんですかね、、、、ほんと困っています
stikky88さんのおっしゃるThumbnail 1.6のプラグインとは何処のものなのでしょう。ソースがわかれば何か先にすすめるのではと思うのですが。
フォーラムの方は未チェックでした。読んだかんじではNucleusはv3あたりで画像の保存場所がかわったようでNP_Thumbnail.php 1.6では機能しないようです(失礼しました)。NP_Thumbnail.php 3.0の方で試してみて下さい。こちらはMySQLへ格納します。
>php GD Versionが2.0以下でだめだったとのようなことが書いてありましたので、、、
しかし根拠は書いてません。NP_Thumbnail.php 3.0でもこれといってGD Version 2.0の機能を使っているようにも見えません。GIFが使えないという意味なら同意しますが、GIFを使わないのにGD Version 2.0でなければならないとは思えません。
下記コードを試してみてはどうでしょう
<?php // ファイル $f = $_GET['f']; $w = $_GET['w']; $h = $_GET['h']; $image = NULL; $info = getimagesize($f); if ($info) { list($width, $height, $mime) = $info; if ($mime == IMG_PNG) $image = imagecreatefrompng($f); else if ($mime == IMG_JPG) $image = imagecreatefromjpeg($f); if ($width == 0 || $height == 0) { $width = $imagesx($image); $height= $imagesy($image); } } if ($image == NULL) { $f = "VALID.png"; $info = getimagesize($f); list($width, $height, $mime) = $info; $image = imagecreatefrompng($f); } // 再サンプル $dst = imagecreatetruecolor($w, $h); imagecopyresampled($dst, $image, 0, 0, 0, 0, $w, $h, $width, $height); imagedestroy($image); // 出力 header('Content-type: image/png'); imagepng($dst); imagedestroy($dst); ?>
これをコピペしてresize.phpという名前(違ってもいい)でアップします。
使い方は
resize.php?f=画像ファイル&w=80&h=50
としてアクセスすると画像ファイルをwidthが80、heightが50に縮小したpngファイルを出力します。(画像ファイルへのパスはresize.phpからの相対パスになりますので)
NP_Thumbnail.phpも同じようにしています。これで縮小画像が表示されるならNP_Thumbnail.php v3.0は動くと思うのですが(GIFは別)
>tobeoscontinueさん
ご返信が遅れてしまって大変申し訳ございません!
非常に丁寧にご説明いただき、またサンプルコードまで示していただき非常にありがたいです!
早速サンプルコードの方をchk.phpという名前でサーバーにアップし、jpgファイルをご指示いただいた形で引数に与えてみたのですが
どうもエラーになってしまうようです、、、
(エラーは以下のようなものでした)
Warning: imagecreatetruecolor(): requires GD 2.0 or later in /home/www/public_html/chk.php on line 27
Warning: imagecopyresampled(): requires GD 2.0 or later in /home/www/public_html/chk.php on line 28
Warning: Cannot add header information - headers already sent by (output started at /home/www/public_html/chk.php:27) in /home/www/public_html/chk.php on line 32
Warning: imagepng(): supplied argument is not a valid Image resource in /home/www/public_html/chk.php on line 33
Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/www/public_html/chk.php on line 34
hamster001さま
ご回答ありがとうございます
GD Version が1.6.2で利用できるもので
ありませんでしょうか、、、
上記は2つともGDのバージョンが2.0以上必要なようです