css3 filter とpython(hue-rotate編)

前説はこちら

今回はhue-rotateについて記載する

アプリ上では
hoge.style.webkitFilter = “hue-rotate(180deg)”;

サーバー上では

value = (-0.574, 1.43, 0.144, 0,
0.426, 0.43, 0.144, 0,
0.426, 1.43, -0.856, 0)
output_image = Image.open(uploadfilepath).convert(“RGB”,value)

以上

valueの値はW3Cのサイト
http://www.w3.org/TR/filter-effects/
を参考に算出した
式は
[ [ [ [
a00 a01 a02 +0.213 +0.715 +0.072 +0.787 -0.715 -0.072 -0.213 -0.715 +0.928
a10 a11 a12 = +0.213 +0.715 +0.072 + cos(s) * -0.213 +0.285 -0.072 + sin(s) * +0.143 +0.140 -0.283
a20 a21 a22 +0.213 +0.715 +0.072 -0.213 -0.715 +0.928 -0.787 +0.715 +0.072
] ] ] ]
である
sに指定したdegを当てはめて計算する
今回は180degなのでcos(180) = -1とsin(180) = 0を計算に使用
Pil上では4*3の行列でconvertするので全ては使用しないが、見た目は同じになった

次回は、invert!

Comments are closed.

Post Navigation