ロモフィルター
ロシアのトイカメラLOMOで撮影したような効果を与えるフィルターを作ってみた。全体的にハイコントラストにして四隅が暗くなるように調整。勝手にロモフィルターと命名することに。
LomoFilter.as
class info.five.as2.filters.LomoFilter
{
function LomoFilter()
{
trace("LomoFilterクラスの読込完了");
}
//------------------------------
// LomoFilterセット関数
// mc:ムービークリップ
// vol:ボリューム(1.0~2.0)
//------------------------------
function setLomoFilter(mc:MovieClip, vol:Number)
{
mc.createEmptyMovieClip("lomo", mc.getNextHighestDepth());
mc.lomo.blendMode = "overlay";
with(mc.lomo)
{
fillType = "radial";
colors = [0x000000, 0x000000, 0x000000];
alphas = [0, 50, 100];
ratios = [0, 200, 255];
spreadMethod = "pad";
interpolationMethod = "RGB";
focalPointRatio = 0;
matrix = new Matrix();
matrix.createGradientBox(mc._width*vol, mc._height*vol, 0, (mc._width-mc._width*vol)/2, (mc._height-mc._height*vol)/2);
beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio);
moveTo(0, 0);
lineTo(0, mc._height);
lineTo(mc._width, mc._height);
lineTo(mc._width, 0);
lineTo(0, 0);
endFill();
}
}
}
flaの1フレーム目に以下のコードを書く。
var lomo:LomoFilter = new LomoFilter();
lomo.setLomoFilter(thumb1, 1.4);
lomo.setLomoFilter(thumb2, 1.4);
lomo.setLomoFilter(thumb3, 1.4);
lomo.setLomoFilter(thumb4, 1.4);
setLomoFilter()の第1引数はmcのインスタンス名。第2引数はフィルター量になってます。(1.0~2.0くらいで)もうちょっとぼけ具合とかピンホールとか色々弄りたかったけど、やりすぎない程度にしてみました。
