トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

PUKIWIKI:添付画像の疑似サムネイル表示化 のバックアップの現在との差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*PUKIWIKI:添付画像の疑似サムネイル表示化 [#u1c13915]

自作プラグインを入れても良かったんですが、勉強のためにPUKIWIKIソースをちょっといじってみました。

**目的/機能仕様 [#q268cd3a]
:目的|端的に、サイズ(容量ではなくPIXEL)が大きい画像を添付して表示するときに、画像がはみだしてウザかった。

:機能仕様|指定したサイズ(幅、高さ)が大きい画像については、縮小して表示させる。


※''疑似サムネイル表示化''と書いているとおり、サムネイル画像を生成するのではなく、表示を縮小させるだけです。ですので、ファイルの転送量が小さくなる、とかいう効果はありません。
**対象バージョン [#h652f6f8]
-PukiWiki1.4.7_notb UTF-8版

他は知りません笑

**改造 [#yf9722bb]
さてさて、改造対象は、「plugin/ref.inc.php」です。

まず、19行目「Default Settings」以降に次の2行を追加します。

 define('PLUGIN_REF_THUMB_WIDTH', 450); //  thumbnale width size 
 define('PLUGIN_REF_THUMB_HEIGHT', 450); // thumbnale height size

各意味はコメントの通りですが、
:PLUGIN_REF_THUMB_WIDTH|サムネイルの幅サイズを指定します。&br;~
この幅サイズ以上の画像の場合、縦横の比率を保持してこのサイズに縮小して表示します。
:PLUGIN_REF_THUMB_HEIGHT|サムネイルの高さサイズを指定します。&br;~
この高さサイズ以上の画像の場合、縦横の比率を保持してこのサイズに縮小して表示します。

両定数共にデフォルトは450にしてありますが、必要に応じて変更してください。

次に、343行目付近の以下の行の直前に
 if ($width && $height) $info = "width=\"$width\" height=\"$height\" ";

次の文を追加します。(結果としてはこうなります。)
 // patch start
 if ($width > PLUGIN_REF_THUMB_WIDTH) {
 	$tmp = (int)( PLUGIN_REF_THUMB_WIDTH / $width * 100);
 	$width  = PLUGIN_REF_THUMB_WIDTH;
 	$height = (int)($height * $tmp / 100);
 }
 if ($height > PLUGIN_REF_THUMB_HEIGHT){
 	$tmp = (int)( PLUGIN_REF_THUMB_HEIGHT / $height * 100);
 	$width = (int)($width * $tmp / 100);
 	$height  = PLUGIN_REF_THUMB_HEIGHT;
 }
 // patch end
 if ($width && $height) $info = "width=\"$width\" height=\"$height\" ";

※「patch start」から「patch end」までを追加します。

すると、先に定数で指定したサイズより大きいものは、そのサイズまで縮小して表示できるようになります。