Groovyではてブカウンター風はてなスターカウンターを作成する 5)はてブカウンター風に立体的加工をする
java2Dだとfill3DRect()というメソッドがあるのだが、GraphicsRenderer()だとないようだ。
立体的に見せるなら光と影をつければよい。
例えば、立体的でリアルなデザインをしたいなら「5つの光」を理解しようのように。
でも、このカウンターはサイズが小さいから、光ってる部分と影だけを付ければよいだろ。
左側と上側はrect()のborderColorを使用して、
その他はline()を使って、光と影をつける。
ソース
import groovy.swing.j2d.* gr = new GraphicsRenderer() gr.renderToFile(".\\Graphics\\HatenaStar.png", 75, 14){ antialias("on") rect(x:0, y:0, width:75, height:14, fill: color('#ff9429'), borderColor: color('#ffd583'), borderWidth:1 ) star(cx:7, cy:7, count:5, ir:2, or:4, fill: color('#ffdea4'), ) /* 3D-ish */ /* right side of of star */ line(x1:14, y1:0, x2:14, y2:14, borderColor:color('#ff7b18'), borderWidth:1) /* left side of the rectangle */ line(x1:15, y1:0, x2:15, y2:14, borderColor:color('#ffd583'), borderWidth:1) /* right side of the rectangle */ line(x1:74, y1:0, x2:74, y2:14, borderColor:color('#ff7b18'), borderWidth:1) /* base of the rectangle */ line(x1:0, y1:13, x2:75, y2:13, borderColor:color('#ff7b18'), borderWidth:1) }
実行結果
groovy:000> load GraphicsHatenaStar.groovy ===> [import groovy.swing.j2d.*] ===> groovy.swing.j2d.GraphicsRenderer@19d96b1 ===> .\Graphics\HatenaStar.png