SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CurlデベロッパーセンターPick Up(AD)

CurlとHTML5のcanvasを比較する
2次元グラフィックスの応用例

  • このエントリーをはてなブックマークに追加

ダウンロード サンプルソース (11.0 KB)

2.イメージ加工

 イメージ加工として、Curlにはさまざまなフィルタが用意されています。その一部を紹介します。

 まずは、“ぼかし”フィルタです。これは、元となるFillPatternにフィルタ加工を行い、フィルタ加工後のFillPatternを用いて描画を行います。ソースコードの太字部分がフィルタ加工処理になります。ここでは、60%の“ぼかし”を行っています。

“ぼかし”の例

ソースコード(Sample¥007.dcurl)
{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倍しています。

RGB色値の割合変更の例
RGB色値の割合変更の例
ソースコード(Sample¥008.dcurl)
{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

 ワープ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
CurlデベロッパーセンターPick Up連載記事一覧

もっと読む

この記事の著者

尾松 秀紀(オマツ ヒデキ)

2度目の成人式を過ぎても、なお、現役で組んでたりします。 ^__^;「ものづくり」は大好きな2児の父親です。真新しい技術には興味ありありで、暇を作っては、試してみたりしています。機会があれば、いろいろご紹介していきたいと思いますので、今後とも、よろしくお願いします。P.S. 株式会社ベーシック:関西事業所は...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5032 2010/03/31 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング