« 2007年4月 | トップページ | 2007年11月 »

2007-06-15

myGallery スマートサムネイル

●概要

このパッチは、Wordpress用ギャラリープラグイン myGallery のサムネイル生成処理を置き換え、よりスマートなサムネイル生成を行うためのパッチです。

●何が変わるのか

myGalleryでは、サムネイル生成に幾つかのパターンを指定できます。

Thumbsetting

中でも、赤丸で囲んだオプションを指定し、四角で切り取ったようなパターンのサムネイルを生成するとき、画像によってはちょっと困ったサムネイルになってしまいます。

例えば、こんな元画像があったとします。(クリックで拡大)

Original_1

この元画像を四角で切り取ったサムネイルにすると、このようになります。

Mythumb_1 これでは、何がなんだかさっぱり分かりません。

画像を開くまでお楽しみと言う意味ではこれで良いのかも知れませんが、一覧したいときなど、これでは意味を成しません。


そこで、このパッチによってよりスマートに四角で切り取るように処理を変更します。

Smartthumb パッチを適用すると、こんな感じのサムネイルになります。

これであれば、画像の全体的なイメージを残したまま、矩形で切り取ったスマートなサムネイルとなります。


サムネイル生成の処理内容は次の通りです。

  • 画像の短辺が指定されたサイズになるように画像を縮小する。
  • 縮小した画像の中央部分を指定したサイズの四角形で切り取る。

簡単な処理ですがより見やすいサムネイルが生成されます。


  • myGallery スマートサムネイル
  • myGallery スマートサムネイルインストール
  • | | コメント (0) | トラックバック (0)

    myGallery スマートサムネイルインストール

    ●インストール

    myGallery 1.4b7 で動作確認しています。
    下記リンクより、拡張用スクリプトをダウンロードしてください。

    ダウンロード imageresample.php-0.1.txt (5.7K)

    このPHPファイルに処理用の関数が含まれています。
    汎用的に使えるので自作スクリプトに組み込んだり自由に改造などしてもらってOKです。

    これを、myGalleryプラグインをインストールしたディレクトリ内 wp-content/plugin/mygallery/ へ ファイル名 imageresample.php としてコピーします。

    次に、wp-content/plugin/mygallery/mygallery.php 内に次のコード(赤文字部分)を追加します。


    ver 1.4b7の場合
    wp-content/plugin/mygallery/mygallery.php : line 28

    @include_once(myGalleryPath. 'myfunctions/mygalleryfunctions.php');

    @include_once(myGalleryPath. 'imageresample.php');


    さらに、wp-content/plugin/mygallery/myfunctions/mygalleryfunctions.php 内に次のコードを追加・不要部分をコメントアウト(赤文字部分)します。


    ver 1.4b7の場合
    wp-content/plugin/mygallery/myfunctions/mygalleryfunctions.php : line 478

    else if ($mg_options[scalethumb]==2){
     
        $new_img = generate_resampleimage($myimg, $my_extension, 'squarecut', $tmb_width);
     
    //  $tmb_x=(int) (($myimg_width/2)-($tmb_width/2));
    //  $tmb_y=(int) (($myimg_height/2)-($tmb_width/2));
    // 
    //  if ($my_extension=='gif') {
    //   $new_img = imagecreate($tmb_width,$tmb_width);
    //  }
    //  else {
    //   $new_img = imagecreatetruecolor($tmb_width,$tmb_width);
    //  }
    // 
    //  imagecopy ( $new_img,$myimg,0,0,$tmb_x,$tmb_y,$tmb_width,$tmb_width);
     
    }
    else {


    以上で完了です。

    パッチを当てた後、管理画面でサムネイル設定を行ってください。
    その後、ギャラリー管理にて、各ギャラリーのサムネイルを新しく作り直せばサムネイルが作成されます。

    ●開発者向け

    imageresample.php 内の処理関数は画像のリサンプリングに関して他にも幾つかの処理モードを持っており、汎用的な画像の拡大縮小処理に利用可能です。
    各処理モードについてはコード内のコメントを参考にしてください。
    また、各処理モードの違いについて、解説図を示しておきます。

    Imageresample


  • myGallery スマートサムネイル
  • myGallery スマートサムネイルインストール
  • |

    « 2007年4月 | トップページ | 2007年11月 »