import javax.imageio.*;
import groovy.swing.j2d.*
img = ImageIO.read(new File("sf.jpg"))
gr = new GraphicsRenderer()
gr.renderToFile("sample950a.png", img.width, img.height){
antialias("on")
image(image: img)
font(new java.awt.Font('Tahoma', java.awt.Font.BOLD, 110))
subtract( borderColor: no, fill: 'white'){
rect(x:20, y:20, width: img.width-40, height: img.height-40)
text( x:30, y:60, text: "SF")
}
}
gr.renderToFile("sample950b.png", img.width, img.height){
antialias("on")
image(image: img)
font(new java.awt.Font('Tahoma', java.awt.Font.BOLD, 110))
subtract( borderColor: no, fill: 'black', opacity:0.5){
rect(x:20, y:20, width: img.width-40, height: img.height-40)
text( x:30, y:60, text: "SF")
}
}
元画像(sf.jpg)
出力画像1(sample950a.png)
出力画像2(sample950b.png)
動作環境
Groovy1.6.0, JDK1.6 Update12
関連項目
groovyで文字列をガラスのように描画する
groovyで日本語を描画する
SVGRendererで透明な文字列を描画する (SVGRendererでの同様の処理)
No comments:
Post a Comment