-
Notifications
You must be signed in to change notification settings - Fork 9
/
README.JA
144 lines (105 loc) · 5.71 KB
/
README.JA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
mod_small_light - Dynamic image transformation module for Apache2
==============================================================================
mod_small_lightを用いることでダイナミックな画像変換が可能です。
開発環境
--------
対応OS: GNU/LinuxまたはGCCをサポートする他のOS。
ビルド
------
configure スクリプトを--with-apxsオプションのみで実行して環境を自動認識します。
./configure --with-apxs=/usr/local/apache2/bin/apxs
または --with オプションで imlib2-config, Wand-config の場所を指定します。
./configure --with-imlib2-config=/usr/local/imlib2/bin/imlib2-config
./configure --with-Wand-config=/usr/local/ImageMagick/bin/Wand-config
またはもし imlib2 か Wand を使用しないのであれば、--without オプションを指定
します。
./configure --without-imlib2
./configure --without-Wand
次に make と make install を実施してインストールを完了します。
make
sudo make install
使い方
------
このモジュールは Apache のアウトプットフィルターとして実装されています。
有効にするためには SetOutputFilter ディレクティブを使用します。
* 通常使用の例
RewriteRule ^/images/(.+)$ /your/local/images/$1 [L]
RewriteRule ^/resize/(.+)$ /small_light(dw=400,dh=400,ds=s)/$1 [P,L]
RewriteRule ^/small_light[^/]*/(.+)$ /your/local/images/$1
<LocationMatch ^/small_light[^/]*/>
SetOutputFilter SMALL_LIGHT
</LocationMatch>
* 画像変換専用サーバー用の例
RewriteRule ^/images/(.+)$ http://img.example.com/your/images/$1 [P,L]
RewriteRule ^/resize/(.+)$ /small_light(dw=400,dh=400,ds=s)/$1 [P,L]
RewriteRule ^/small_light[^/]*/(.+)$ http://img.example.com/your/images/$1 [P,L]
<LocationMatch ^/small_light[^/]*/>
SetOutputFilter SMALL_LIGHT
</LocationMatch>
アウトプットフィルターの定義を済ませれば、ApacheはURI中に定義された画像変換パ
ターンを用いて画像を変換するようになります。
Pattern文字列
-------------
パターン文字列は キー=値 の形式でURI中の small_light() 内に記述します。
キー 値 [値の種別]
-------------------------------------------------------------------
sx 変換前画像x座標 [coord]
sy 変換前画像y座標 [coord]
sw 変換前画像横幅 [coord]
sh 変換前画像縦幅 [coord]
dx 変換後画像x座標 [coord]
dy 変換後画像y座標 [coord]
dw 変換後画像横幅 [coord]
dh 変換後画像縦幅 [coord]
da 変換後画像アスペクト比制御種別 [char]
(s=短辺基準 l=長辺基準 n=なし 初期値:l)
ds 変換後画像スケーリング制御種別 [char]
(s=小さい画像も拡大 n=小さい画像はそのまま 初期値:n)
cw キャンバス横幅 [number]
ch キャンバス縦幅 [number]
cc キャンバス色(初期値:000000) [color]
bw ボーダー横幅 [number]
bh ボーダー縦幅 [number]
bc ボーダー色(初期値:000000) [color]
pt 処理種別 [char]
(ptss:変換後画像より変換前画像が小さい場合にパススルー
ptls:変換後画像より変換前画像が大きい場合にパススルー
n:なし 初期値:n)
q クォリティー(jpegかpngのときのみ影響, 0~100) [number]
of 出力形式(jpeg,png,tiff,gif) [char] *1
inhexif 変換前画像のEXIF情報を変換後画像に引き継ぐ [char] *2
(n:引き継がない y:引き継ぐ 初期値:n)
jpeghint jpegロードの最適化を有効化 [char]
(n:無効 y:有効 初期値:n)
info 詳細情報をHTTP Headerに出力 [number]
(0:しない 1:する 初期値:0)
p パターン名(後述)
e 画像変換エンジン名(imlib2,imagemagick,dummy) [char]
sharpen e=imlib2,sharpen=radius
e=imagemagick,sharpen=radius,sigma
unsharp e=imagemagick,unsharp=radius,sigma,amount,threshold
blur e=imlib2,blur=radius
e=imagemagick,blur=radius,sigma
-------------------------------------------------------------------
*1 of=gifはe=imagemagickのみ対応
*2 inhexifはe=imlib2のみ対応
値の種類
-------------------------------------------------------------------
coord 座標。単純にピクセル指定かまたはpを付けることで%指定。
char 文字列
number 数値
color rrggbb形式またはrrggbbaa形式。ffffffで白、000000で黒。
-------------------------------------------------------------------
* パターン名
よく利用するパターン文字列を SmallLightPatternDefine ディレクティブで
パターン名を定義しておくことができます。これによりURIが単純で短くなります。
SmallLightPatternDefine <パターン名> <パターン文字列>
使用例:
SmallLightPatternDefine THUMB_SMALL sx=5p,sy=5p,sw=90p,sh=90p,dw=40,dh=40,da=l,cw=40,ch=40,cc=ffffff,q=80,of=jpeg
SmallLightPatternDefine THUMB_MEDIUM sx=5p,sy=5p,sw=90p,sh=90p,dw=96,dh=96,da=l,cw=96,ch=96,cc=ffffff,q=80,of=jpeg
SmallLightPatternDefine THUMB_LARGE sx=5p,sy=5p,sw=90p,sh=90p,dw=200,dh=200,da=l,cw=200,ch=200,cc=ffffff,q=80,of=jpeg
パターン名を使うには単純に small_light(p=パターン名) とします。パターンはパタ
ーン名に続くパターン文字列で上書きできます。
small_light(p=THUMB_SMALL)
OR
small_light(p=THUMB_SMALL,q=80) * qは80に上書きされます