ゆめみラボ

連携タイプ
直接画像の場所を指定して表示するのではなく、PHP、perlなどのWEBプログラムを通して画像を表示する場合に使用します。

基本設定
・連携タイプの機能はApacheの出力フィルターの一種であるため、以下のように登録しておく必要があります。
    /etc/httpd/conf.d/ktai_image.conf
   
<Files image-output.php>
    SetOutputFilter KTAI_IMAGE_OUTPUTTER
</Files>
・連携タイプを利用するためにはハンドラーの中で必ずContent-Typeヘッダーをapplication/x-ktai-imageに指定
  する必要があります。
    PHPの場合の例:
   
header("Content-Type: application/x-ktai-image");
・変換対象となる画像ファイル名を必ず指定しなければいけません。
  mod_ktai.image.filenameオプションで画像ファイルの絶対パス名を指定します。
  オプションの設定はApacheのnoteテーブルを介して行わなければいけません。
    PHPの場合の例:
   
apache_note("mod_ktai.image.filename", realpath('370x245.jpg'));

幅と高さの指定
ハンドラータイプと同様に幅と高さを指定できる。指定の方法はApacheのnoteテーブルを介して行います。
    PHPの場合の例:
   
apache_note('mod_ktai.image.x', '120');

ピクセル数で指定
    mod_ktai.image.x
    mod_ktai.image.xオプションで画像の幅を指定できます。
    オプションの値はピクセル数であり、自然数で指定しなければいけません。
    変換前の画像の幅より大きな値を指定することはできません。
    画像変換に利用しているライブラリーの制約により出力される画像の幅は指定した幅と異なることがありま
    す。
    PHPの場合の例:
   
apache_note('mod_ktai.image.x', '120');
    mod_ktai.image.y
    mod_ktai.image.yオプションで画像の高さを指定できます。
    オプションの値はピクセル数であり、自然数で指定しなければいけません。
    変換前の画像の高さより大きな値を指定することはできません。
    画像変換に利用しているライブラリーの制約により出力される画像の高さは指定した高さと異なることがあり
    ます。
    PHPの場合の例:
   
apache_note('mod_ktai.image.y', '320');

端末の画面サイズに対する百分率で指定
    mod_ktai.image.w
    mod_ktai.image.wオプションで端末の画面幅に対して画像の幅を指定できます。
    オプションの値は1以上100以下の自然数で指定しなければいけません。
    端末の画面幅が取得できない場合は、端末の画面幅を240ピクセルとみなします。
    画像変換に利用しているライブラリーの制約により出力される画像の幅は指定した幅と異なることがありま
    す。
    PHPの場合の例:
   
    apache_note('mod_ktai.image.w', '50');
    mod_ktai.image.h
    mod_ktai.image.hオプションで端末の画面高さに対して画像の高さを指定できます。
    オプションの値は1以上100以下の自然数で指定しなければいけません。
    端末の画面幅が取得できない場合は、端末の画面高さを320ピクセルとみなします。
    画像変換に利用しているライブラリーの制約により出力される画像の高さは指定した高さと異なることがあり
    ます。
    PHPの場合の例:
   
    apache_note('mod_ktai.image.h', '50');

著作権保護機能の設定
ハンドラータイプの場合と同様に設定できるほか、Apacheのnoteテーブルを介して設定値を上書きできます。
    PHPの場合の例:
   
apache_note('mod_ktai.image.copy_protection', '1');

ファイルサイズの指定
Apacheのnoteテーブルを介して設定できます。
sizeオプションで目標ファイルサイズを指定できます。
オプションの値の単位はバイトであり、自然数で指定しなければいけません。
変換前のファイルサイズより大きな値を指定することはできません。
指定された目標ファイルサイズが変換前のファイルサイズよりも小さい場合は画質の劣化させて圧縮率を高めて、指定された目標ファイルサイズ以下に収まるように試みます。
画像によっては画質の劣化を試みても指定されたファイルサイズ以内に収まらないことがあり、このような場合は結果的に指定された目標ファイルサイズ以上の画像が出力されます。
現時点ではJPEGフォーマットのみで利用できます。
    PHPの場合の例:
   
apache_note('mod_ktai.image.size', '5000');

キャッシュディレクトリーの設定
ハンドラータイプと同様です。

サンプルコード(PHPの例)
    image-output.php
 
<?php
    define(__PATH__, '/var/www/html/');
    $file=$_REQUEST["file"];
    $image_file_path = __PATH__ . $file;
    header("Content-Type: application/x-ktai-image");
    apache_note("mod_ktai.image.filename", realpath($image_file_path));
    apache_note('mod_ktai.image.x', '300');
?>

    URL例:http://hoge.yumemi.st/image-output.php?file=a.jpg

出力フィルタータイプ
PAGE TOP
関連サイト

課題図書
モバイルユーザビリティ・デザイン Web制作者が身につけておくべき新・100の法則。 Webコミュニティでいちばん大切なこと。 CGMビジネス“成功請負人”たちの考え方