Monday, June 08, 2009

SVGRendererで円状に文字列を描画する

SVGRendererで円状に文字列を描画するには、以下のコードを実行します。


import groovy.swing.j2d.svg.*

gr = new SVGRenderer()
gr.renderToFile("sample983a.svg", 200, 200){
xpath(borderColor:color("red")){
textStroke(text:"Groovy Groovy Groovy Groovy Groovy Groovy Groovy !!!",
font: new java.awt.Font('Tahoma', java.awt.Font.PLAIN, 20)
);
xmoveTo(x:180, y:100)
xarcTo(angle:180, largeArc: true, sweep:true, rx:80, ry:80, x:20, y:100)
xarcTo(angle:180, largeArc: true, sweep:true, rx:80, ry:80, x:180, y:100)
}
circle( cx: 100, cy: 100, radius:60, borderColor:color("orange")){
textStroke(text:"Groovy Groovy Groovy Groovy Groovy !!!",
font: new java.awt.Font('Tahoma', java.awt.Font.PLAIN, 20)
);
}
}


出力SVG(sample983a.svg)をPNGにレンダリングした画像
SVGRendererで円状に描画した文字列

動作環境
Groovy1.6.0, JDK1.6 Update12

関連項目
groovyで円状に文字列を描画する (GraphicsRendererによる同様の処理)

No comments: