Monday, February 16, 2009

groovyで炎のような画像を生成する

groovyで炎のような画像を生成するには、以下のコードを実行します。



import groovy.swing.j2d.*
import com.jhlabs.image.*;

def gr = new GraphicsRenderer()
gr.renderToFile("sample876a.png", 200, 200){
antialias("on")
rect( x: 0, y: 0, width: 200, height: 200,
borderColor: no){
filters {
ac = new ArrayColormap()
ac.setColorRange(0, 100, 0x000000, (int)0xffff8040)
ac.setColorRange(101, 200, (int)0xffff8040, (int)0xffffff60)
ac.setColorRange(201, 255, (int)0xffffff60, (int)0xffffffe0)

fractalBrownianMotion(amount:1.0,
operation:basisNoise, scale:32, strecth:1.0,
angle:10, colormap: ac)
}
}
}


出力画像(sample876a.png)
groovyで生成した炎の画像

動作環境
Groovy1.6.0 Beta2, JDK1.6 Update11

関連項目
Java2DとJava Image Filters(pixels)を使用して炎のような画像を生成する (Java2Dによる同様の処理)
groovyで画像を2色グラデーションの画像に変換する (LinearColormapの使用例)
groovyで画像をぼかす

No comments: