NmagemanAはアクセス時に画像を動的変換するApache moduleです。
以下のようなことが可能です。
各OSごとに以下の環境が必要です。
各OSごとに以下の環境が必要です。
各OSごとに以下の環境が必要です。
各OSごとに以下の環境が必要です。
LoadModule Nmageman_module /__your_path__/NmagemanA.so <IfModule NmagemanA.cpp> AddHandler Nmageman .jpg .gif .png <Location /proxy_test/> SetHandler Nmageman </Location> Nmg_SettingFilePath "/__your_path__/NmagemanA.setting" Nmg_EnvsFilePath "/__your_path__/Environments.setting" </IfModule>
画像を変換するには目的画像へのアクセスに、変換指示のQueryStringを付加します。
QueryStringがない場合には元画像をそのまま返します。
"w"と"h"の単位を指定します。
指定しない場合はピクセル単位になります。
値は以下のいずれかを指定してください。
Outer Box 変換を指定します。
Outer Box 変換では "w" と "h" で表わされるBoxをはみ出してでもぴったりなサイズに変換します。
Boxからはみ出る分は切り落とすことができます。
切り落とす指示は2文字で以下のいずれかを指定してください。
[ex.] /sample.jpg?w=300&h=300&ob=CM
NmagemanA設定のルート要素。
拡大の可否を指定します。
JPG出力時の品質(%)を指定します。
キャッシュフォルダのパスを指定します。
"NmagemanA.dll"からの相対パスか絶対パスを指定できます。
空文字列("")を指定するとキャッシュ機能が無効になります。
QueryStringのないアクセス時に利用される既定のQueryStringを指定します。
変換方法を指定せずに画像ファイルへアクセスした場合の既定の変換方法を指定できます。
XML構文に従って "w=100&su=ep" などと指定してください。
変換画像のプロキシ設定をします。
アクセス時URLが<Map/>で指定される設定に引っ掛かる場合はプロキシします。
<Map/>は複数指定可能で、上から順に処理されます。
どの<Map/>にも引っかからない場合はローカルファイルとして処理されます。
プロキシ先にQueryStringを渡したい場合には以下のうようにアクセスしてください。
http://aru.host/getimage.php?image=16200?w=300&h=300
変換画像のプロキシマップを指定します。
拡張子検索機能を設定します。
アクセス時URLの画像が見つからない場合は<Ext/>で指定した拡張子を検索します。
<Ext/>は複数指定可能で、上から順に検索が行われます。
検索する拡張子を指定します。
設定する値に "." は必要ありません。
画像に貼るシールの設定をします。
アクセス時URLが<Map/>で指定される設定に引っ掛かる場合はシールが貼られます。
<Map/>は複数指定可能で、上から順に処理されます。
どの<Map/>にも引っかからない場合はシールが貼られません。
[シールとは?]
シールとは画像の上にかぶせられる画像のことです。
シールは対象画像の大きさにBOX変換され、Alignで指定された位置に貼られます。
シール画像には32bit透過PNGを利用すると便利です。
変換画像のシールマップを指定します。
Moduleの設定をします。
<Path/>で指定されるModuleがNmagemanAに追加されます。
<Path/>は複数指定可能で、上から順に追加されます。
Moduleは16個まで追加できます。
[Moduleとは?]
ModuleとはNmagemanAの機能を拡張するプログラムのことです。
DLLファイルとして提供されるModuleを自由に組み合わせて利用することができます。
設定順を変えることで変換のされかたも自由に変えることができます。
Moduleを指定します。
Environments設定のルート要素。
User-Agentのキーとなる文字列パターンを指定します。
<UAKey/>は複数指定することができます。
端末情報を指定します。
<Env/>は複数指定することができます。
NmagemanAの制作にあたり以下のモノを包含させていただきました。
各提供者の方々に厚く御礼申し上げます。