- 2008-05-29 (木)
- memo
やれることが多いのでさわりだけ。
つーかやれることが多くて何をしたら良いのか分からないので、
http://nodebox.net/code/index.php/Core_Image
見ながらコツコツやってみる。
まず、単純に画像を読み込んで表示させてみる。
ci=ximport("coreimage")
img=ci.canvas()
img.append("/hoge/hoge/hoge.jpg")
img.draw()
ライブラリ読み込んで、キャンバス作って、レイヤーに画像読み込んで、描画する。おわり。
append()ってのは新しくレイヤーを作るんだけど、画像以外でもカラーとかパスとかムービーフレームとか別のキャンバスとか色々素材を使えるみたい。
試しにPathを使ってみると
ci=ximport("coreimage")
size(200,200)
font("Osaka")
fontsize(200)
p=textpath(u"あ",0,200)
img=ci.canvas(200)
img.append(p)
img.draw()
うまくいった。
ちなみに他のキャンバスをレイヤーに読み込んだりも出来るので、こんなまわりくどい使い方も出来ます。
ci=ximport("coreimage")
size(200,200)
font("Osaka")
fontsize(200)
p=textpath(u"あ",0,200)
img=ci.canvas(200)
img.append(p)
sub=ci.canvas(200)
sub.append(img)
sub.draw()
canvas.append()でこんだけ読み込めるらしい。
canvas.append(filename) canvas.append(clr) canvas.append(clr1, clr2, type="linear", spread=0.0) canvas.append(path, background=None, fill=None, stroke=None, strokewidth=None) canvas.append([clr1, clr2, clr3, ...], w, h) canvas.append(layer) canvas.append(canvas) canvas.append(layer.render()) canvas.append(canvas.flatten()) canvas.append(open(filename).read()) canvas.append(movieframe)
その上でレイヤー複数読み込んだり、フィルタかけたり出来る。
ci=ximport("coreimage")
size(200,200)
font("Osaka")
fontsize(200)
p=textpath(u"あ",0,200)
q=textpath(u"い",0,200)
img=ci.canvas(200)
img.append(p).filter("zoomblur",interface=True)
img.append(q).filter("crystallize",interface=True)
img.draw()
interface=Trueオプションでスライダが自動的に作られてベンリ。
とりあえずこのへんでおしまい。
- Newer: coreimageを使用できるエフェクトを増やしてみる。 ≫
- Older: ≪ コントロール用のwindowを出してみる