2.イメージ加工
イメージ加工として、Curlにはさまざまなフィルタが用意されています。その一部を紹介します。
まずは、“ぼかし”フィルタです。これは、元となるFillPatternにフィルタ加工を行い、フィルタ加工後のFillPatternを用いて描画を行います。ソースコードの太字部分がフィルタ加工処理になります。ここでは、60%の“ぼかし”を行っています。
“ぼかし”の例

{curl 7.0 applet}
{import * from CURL.GRAPHICS.IMAGEFILTER}
{let src-fp:FillPattern =
{FillPattern.from-url {url "curl://install/docs/default/images/adria.jpg"}}}
{let blurred-fp:FillPattern =
{blur
src-fp, || in FillPattern
amount=60%, || amount to blur the image
out=null} || out FillPattern
}
{View
{Fill
width = 2.5in, height = 2.5in,
background = blurred-fp
},
visibility = "normal",
{on WindowClose do
{exit}
}
}
もう1つの例として、RGBの各色値単位に割合指定を行うフィルタです。このフィルタを用いて、色分解を行ったりすることができます。以下の例では、R値を1.5倍、G値・B値を0.5倍しています。

{curl 7.0 applet}
{let fp-org:FillPattern =
{FillPattern.from-url {url "curl://install/docs/default/images/adria.jpg"}}}
{let fp:FillPattern =
{IMAGEFILTER.rgb-scale
fp-org,
red=1.5, green=0.5, blue=0.5
}}
{View
{HBox
{Fill width=1in, height=1in, background=fp-org},
{Fill width=1in, height=1in, background=fp}
},
visibility = "normal",
{on WindowClose do
{exit}
}
}

提供フィルタ一覧
最後に、提供されているフィルタの一覧をまとめておきます。
autolevel
低照明の矯正
blend
2つのFillPattern を混合

blur
"ぼかし" 効果
brightness-adjust
明度調節
bubble
泡表示

contrast-adjust
コントラスト レベルを調整
emboss
エンボス効果

filter-pixmap
Pixmapにしてイメージ フィルタを実施
glow
"glow" 効果

hsv-adjust
色相、彩度、およびイメージの値 (またはそのうちのどれか) を調整
rgb-channel
赤、緑、青、およびアルファの各チャネルの除外
rgb-offset
赤、緑、青、およびアルファのチャネルに個々に値を付加
rgb-scale
赤、緑、青、およびアルファのチャネルを個々の係数で乗算
rotate
回転

scale
水平方向と垂直方向のスケール変更

skew-height
垂直方向に補正

skew-width
水平方向に補正

sphere丸く歪める

translate
平行移動
twirl
渦巻き

warp
ワープ



