[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Showing posts with label GraphicsBuilder. Show all posts
Showing posts with label GraphicsBuilder. Show all posts

Friday, July 24, 2009

groovyでドット文字列を描画する

groovyでドット文字列を描画するには、以下のコードを実行します。


import groovy.swing.j2d.*

def gr = new GraphicsRenderer()
gr.renderToFile("sample1144a.png", 240, 80){
antialias("on")
font(new java.awt.Font('Tahoma', java.awt.Font.BOLD, 64))
text( x:0, y:0,
text: "Groovy",
fill: color("#4466ff"),
borderColor: no,
){
filters {
mosaic(blockSize: 4)
}
}
}


出力画像(sample1144a.png)
groovyで描画したドット文字列

Wednesday, July 22, 2009

groovyで画像の角を切り落とす

groovyで画像の角を切り落とすには、以下のコードを実行します。


import javax.imageio.*;
import groovy.swing.j2d.*

// 角のサイズ
dx = 20
dy = 20
img = ImageIO.read(new File("sf.jpg"))
def gr = new GraphicsRenderer()
gr.renderToFile("sample1143a.png",
img.width, img.height){
antialias("on")
polygon(
points: [dx,0, img.width-dx-1,0,
img.width-1,dy,
img.width-1,img.height-dy-1,
img.width-dx-1, img.height-1,
dx, img.height-1,
0, img.height-dy-1,
0, dy],
borderColor: no
){
texturePaint(x: 0, y: 0, image: img )
}
}


元画像(sf.jpg)


出力画像(sample1143a.png)
groovyで角を切り落とした画像

Monday, July 20, 2009

groovyで画像を8色グレースケール画像に変換する

groovyで画像を8色グレースケール画像に変換するには、以下のコードを実行します。


import groovy.swing.j2d.*

def gr = new GraphicsRenderer()
gr.renderToFile("sample1142a.png", 200, 200){
antialias("on")
rect( x: 0, y: 0, width: 200, height: 200,
borderColor: no){
texturePaint(x: 0, y: 0, file: 'sf.jpg' )
filters {
grayscale()
// numColorsは8から256
// see com.jhlabs.image.QuantizeFilter.
quantize(numColors: 8)
}
}
}


元画像(sf.jpg)


出力画像(sample1142a.png)
groovyで8色グレースケールに変換した画像

Saturday, July 18, 2009

groovyでグラデーションの放射ストライプを描画する

groovyでグラデーションの放射ストライプを描画するには、以下のコードを実行します。


import groovy.swing.j2d.*

def gr = new GraphicsRenderer()
gr.renderToFile("sample1141a.png", 200, 200){
antialias("on")
background(color: color("white"))
rays(cx:90, cy:110, radius:200, rays:32,
borderColor:no){
radialGradient( cx: 90, cy: 110, radius:150){
stop(offset: 0, color: "#7799ff")
stop(offset: 1, color: "orange")
}
}
}


出力画像(sample1141a.png)
groovyで描画したグラデーションの放射ストライプ

Tuesday, July 14, 2009

groovyで引っかいたような文字列を描画する

groovyで引っかいたような文字列を描画するには、以下のコードを実行します。


import groovy.swing.j2d.*

sw = 220
sh = 70
gr = new GraphicsRenderer()
img = gr.render(sw, sh){
background(color: color("#ffffff"))
rect(x:0, y:0, width: sw, height: sh){
filters {
scratch(angle:10, angleVariation:0.8,
color: color("#000000"), density:0.7,
length:0.5, width:0.5, seed:2009)
}
}
}
gr.renderToFile("sample1130a.png", sw, sh){
antialias("on")
background(color: color("#000000"))
font(new java.awt.Font('Tahoma', java.awt.Font.BOLD, 60))
text( x:0, y:0, text: "Groovy", borderColor:no){
texturePaint(x: 0, y: 0, image: img )
}
}


出力画像(sample1130a.png)
GraphicsRendererで描画した引っかいたような文字列

Wednesday, May 06, 2009

groovyで画像を2色グラデーションの画像に変換する

groovyで画像を2色グラデーションの画像に変換するには、以下のコードを実行します。


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

img = ImageIO.read(new File("sf.jpg"))
gr = new GraphicsRenderer()
gr.renderToFile("sample952a.png", img.width,
img.height){
image(image: img)
rect(x:0, y:0, width: img.width,
height: img.height, borderColor:no){
texturePaint(x: 0, y: 0, image:img )
filters {
lc = new LinearColormap((int)0xFFFFFF10, (int)0xFF3070A0)
lookup(colormap:lc)
}
}
}


元画像(sf.jpg)


出力画像(sample952a.png)
groovyで2色グラデーションに色を変えた画像

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

関連項目
groovyで炎のような画像を生成する (ArrayColormapの使用例)

Monday, May 04, 2009

groovyで青色っぽい所以外をグレースケールにする

groovyで青色っぽい所以外をグレースケールにするには、以下のコードを実行します。


import javax.imageio.*;
import groovy.swing.j2d.*

img = ImageIO.read(new File("sf.jpg"))
gr = new GraphicsRenderer()
gr.renderToFile("sample952a.png", img.width,
img.height){
image(image: img)
rect(x:0, y:0, width: img.width,
height: img.height, borderColor:no){
texturePaint(x: 0, y: 0, image:img )
filters {
chromaKey(color: color("blue"),
hTolerance:0.15, sTolerance:0.8,
bTolerance:1)
grayscale()
}
}
}


元画像(sf.jpg)


出力画像(sample952a.png)
groovyで青色っぽい所以外をグレースケールにした画像

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

関連項目
groovyでクロマキー処理をする

Saturday, May 02, 2009

groovyで2種類の画像を交互に配置して背景画像を作成する

groovyで2種類の画像を交互に配置して背景画像を作成するには、以下のコードを実行します。


import javax.imageio.*;
import groovy.swing.j2d.*

img1 = ImageIO.read(new File("flower1.png"))
img2 = ImageIO.read(new File("flower2.png"))
gr = new GraphicsRenderer()
img = gr.render(img1.width + img2.width,
img1.height + img2.height){
image(image: img1, x:0, y:0)
image(image: img2, x:img1.width, y:0)
image(image: img2, x:0, y:img1.height)
image(image: img1, x:img2.width, y:img2.height)
}
gr.renderToFile("sample951a.png", 200, 200){
antialias("on")
rect(x:0, y:0, width: 200,
height: 200, borderColor:no){
texturePaint(x: 0, y: 0, image: img )
}
}


元画像1(flower1.png)


元画像2(flower2.png)


出力画像(sample951a.png)
groovyで2種類の画像を交互に配置した背景画像

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

関連項目
groovyで画像をグレースケールと反転させたグレースケールを交互に配置した画像に変換する

Thursday, April 30, 2009

groovyで透明な文字列を描画する

groovyで透明な文字列を描画するには、以下のコードを実行します。


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)
groovyで透明な文字列を描画した画像

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

関連項目
groovyで文字列をガラスのように描画する
groovyで日本語を描画する
SVGRendererで透明な文字列を描画する (SVGRendererでの同様の処理)

Tuesday, April 28, 2009

groovyで画像を半透明にして重ね合わせる

groovyで画像を半透明にして重ね合わせるには、以下のコードを実行します


import javax.imageio.*;
import groovy.swing.j2d.*

img = ImageIO.read(new File("sf.jpg"))
gr = new GraphicsRenderer()
gr.renderToFile("sample949a.png", img.width, img.height){
antialias("on")
image(image: img)
image(file: 'sample3b.jpg', x:10, y:10, opacity:0.5)
}


元画像(sf.jpg)


元画像2(sample3b.jpg)


出力画像(sample949a.png)
groovyで半透明にして重ね合わせた画像

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

関連項目
groovyで画像をグレースケールと反転させたグレースケールを交互に配置した画像に変換する
SVGRendererで画像を半透明にして重ね合わせる (SVGRendererによる同様の処理)

Sunday, April 26, 2009

groovyで円形以外の部分をグレースケールにする

groovyで円形以外の部分をグレースケールにするには、以下のコードを実行します。


import javax.imageio.*;
import groovy.swing.j2d.*

img = ImageIO.read(new File("sf.jpg"))
gr = new GraphicsRenderer()
gr.renderToFile("sample948a.png", img.width, img.height){
antialias("on")
rect( x: 0, y: 0,
width: img.width, height: img.height,
borderColor: no){
texturePaint(x: 0, y: 0, image: img )
filters {
grayscale()
}
}
ellipse( cx: img.width/2, cy: img.height/2,
radiusx: img.width/2, radiusy: img.height/2,
borderColor: no){
texturePaint(x: 0, y: 0, image: img )
}
}


元画像(sf.jpg)


出力画像(sample948a.png)
groovyで円形以外の部分をグレースケールにした画像

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

Friday, April 24, 2009

groovyで図形を回転させる

groovyで図形を回転させるには、以下のコードのようにrotateを使用します。


import groovy.swing.j2d.*

def gr = new GraphicsRenderer()
gr.renderToFile("sample947a.png", 200, 200){
antialias("on")
butterflyShape( x: 0, y: 0, width: 200, height: 200,
fill: color("#bbddff"),
borderColor: color("#103080"),
borderWidth: 2
){
transformations{
rotate(angle:45, x:100, y:100)
}
}
}


出力画像(sample947a.png)
groovyでの図形回転例


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

関連項目
SVGRendererで図形を回転させる (SVGRendererでの同様の処理)

Wednesday, April 22, 2009

groovyでシェイプをぼかす

groovyでシェイプをぼかすには、以下のコードを実行します。


import groovy.swing.j2d.*

def gr = new GraphicsRenderer()
imgb = gr.render(200, 200){
antialias("on")
butterflyShape( x: 10, y: 10, width: 180, height: 180,
fill: color("#bbddff"),
borderColor: color("#103080"),
borderWidth: 2
)
}
gr.renderToFile("sample946a.png", 200, 200){
antialias("on")
rect( x: 0, y: 0, width: 200, height: 200,
borderColor: no){
texturePaint(x: 0, y: 0, image: imgb )
filters {
gaussianBlur(radius:10)
}
}
}


出力画像(sample946a.png)
groovyでシェイプをぼかした画像

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

関連項目
groovyで画像をぼかす

Monday, April 20, 2009

groovyで画像をグレースケールと反転させたグレースケールを交互に配置した画像に変換する

groovyで画像をグレースケールと反転させたグレースケールを交互に配置した画像に変換するには、以下のコードを実行します。


import javax.imageio.*;
import groovy.swing.j2d.*

img = ImageIO.read(new File("sample3b.jpg"))
w = img.getWidth()
h = img.getHeight()
println("w:${w}, h:${h}")

gr = new GraphicsRenderer()
gr.renderToFile("sample945a.png", w*2, h*2){
antialias("on")
rect( x: 0, y: 0, width: w, height: h,
borderColor: no){
texturePaint(x: 0, y: 0, image: img )
filters {
grayscale()
}
}
rect( x: w, y: 0, width: w, height: h,
borderColor: no){
texturePaint(x: 0, y: 0, image: img )
filters {
invert()
grayscale()
}
}
rect( x: 0, y: h, width: w, height: h,
borderColor: no){
texturePaint(x: 0, y: 0, image: img )
filters {
invert()
grayscale()
}
}
rect( x: w, y: h, width: w, height: h,
borderColor: no){
texturePaint(x: 0, y: 0, image: img )
filters {
grayscale()
}
}
}


元画像(sample3b.jpg)


出力画像(sample945a.png)


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

関連項目
groovyで画像をグレースケールに変換する
groovyで画像を反転させる

Sunday, April 12, 2009

groovyで4点グラデーションを描画する

groovyで4点グラデーションを描画するには、以下のコードを実行します。


import javax.imageio.*;
import groovy.swing.j2d.*

w=200
h=200
gr = new GraphicsRenderer()
gr.renderToFile("sample1010a.png", w, h){
antialias 'on'
rect( x: 0, y: 0, width: w, height: h,
borderColor: no){
filters {
fourColorFill(
colorNE: 'red',
colorNW: 'yellow',
colorSE: 'green',
colorSW: 'blue')
}
}
}


出力画像(sample1010a.png)
groovyで描画した4点グラデーション

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

関連項目
groovyで図形を放射グラデーションで塗りつぶす
groovyで図形を虹色グラデーションで塗りつぶす
groovyでストロークにグラデーションをかける
groovyで図形をグラデーションで塗りつぶす

Thursday, April 09, 2009

groovyでフラクタルフレーム画像を生成する

groovyでフラクタルフレーム画像を生成するには、以下のコードを実行します。


import groovy.swing.j2d.*

w=200
h=200
gr = new GraphicsRenderer()
gr.renderToFile("sample1009a.png", w, h){
antialias 'on'
rect( x: 0, y: 0, width: w, height: h,
borderColor: no){
filters {
fractalFlame()
}
}
}
gr.renderToFile("sample1009b.png", w, h){
antialias 'on'
rect( x: 0, y: 0, width: w, height: h,
borderColor: no){
filters {
fractalFlame(ifs: new org.jvnet.substance.watermarkpack.flamefractal.Vortex())
}
}
}


出力画像(sample1009a.png)


出力画像(sample1009b.png)
groovyで生成したフラクタルフレーム画像

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

Monday, April 06, 2009

groovyで画像に光を当てる

groovyで画像に光を当てるには、以下のコードを実行します。


import javax.imageio.*;
import groovy.swing.j2d.*

img = ImageIO.read(new File("sf.jpg"))
w = img.getWidth()
h = img.getHeight()
gr = new GraphicsRenderer()
gr.renderToFile("sample1008a.png", w, h){
antialias 'on'
rect( x: 0, y: 0, width: w, height: h,
borderColor: no){
texturePaint(x: 0, y: 0, image: img )
filters {
lights {
pointLight(azimuth: 90/180f*Math.PI,
elevation: 0.4,
intensity: 0.7,
color: 'yellow',
centreX:0.8, centreY:0.1)
}
}
}
}

出力画像(sample1008a.png)
groovyで光を当てた画像

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

Friday, April 03, 2009

groovyで文字列をガラスのように描画する

groovyで文字列をガラスのように描画するには、以下のコードを実行します。


import javax.imageio.*;
import groovy.swing.j2d.*

img = ImageIO.read(new File("sf.jpg"))
w = img.getWidth()
h = img.getHeight()
gr = new GraphicsRenderer()
imgb = gr.render(w, h){
antialias("on")
rect( x: 0, y: 0, width: w, height: h,
borderColor: no, fill: color("#ffffff")){
}
font(new java.awt.Font('Tahoma', java.awt.Font.BOLD, 120))
text( x:30, y:60, text: "SF", fill: 'black')
}

imgc = gr.render(w, h){
antialias("on")
rect( x: 0, y: 0, width: w, height: h,
borderColor: no){
texturePaint(x: 0, y: 0, image: imgb )
filters {
gaussianBlur(radius:6)
}
}
}

gr.renderToFile("sample1007a.png", w, h){
antialias("on")
rect( x: 0, y: 0, width: w, height: h,
borderColor: no){
texturePaint(x: 0, y: 0, image: img )
filters {
displace(amount:0.5, displacementMap: imgc, edgeAction:'clamp')
}
}
}


元画像(sf.jpg)


出力画像(sample1007a.png)
groovyでガラスのように描画した文字列

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

関連項目
groovyで透明な文字列を描画する
Java2DとJava Image Filters(pixels)を使用して文字列をガラスのように描画する

Wednesday, April 01, 2009

groovyでレンズフレアを描画する

groovyでレンズフレアを描画するには、以下のコードを実行します。


import groovy.swing.j2d.*

def gr = new GraphicsRenderer()
gr.renderToFile("sample835a.png", 200, 200){
antialias("on")
rect( x: 0, y: 0, width: 200, height: 200,
borderColor: no){
texturePaint(x: 0, y: 0, file: 'sf.jpg' )
filters {
flare(color: color("#ffffff"),
ringWidth: 1.2, baseAmount: 0.9,
ringAmount: 0.2, rayAmount: 1.4,
centre: new java.awt.geom.Point2D.Float(0.7f, 0.3f),
radius: 70)
}
}
}


元画像(sf.jpg)


出力画像(sample835a.png)
groovyで描画したレンズフレア

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

関連項目
Java2DとJava Image Filters(pixels)を使用してレンズフレアを描画する

groovyで立体的な文字列を描画する

groovyで立体的な文字列を描画するには、以下のコードを実行します。


import groovy.swing.j2d.*

def gr = new GraphicsRenderer()
gr.renderToFile("sample834a.png", 200, 70){
antialias("on")
font(new java.awt.Font('Tahoma', java.awt.Font.BOLD, 50))
text( x:5, y:10,
text: "Sample",
fill: color("#ffffff"),
borderColor: no
){
filters {
chrome(amount: 0.3, exposure: 1.0)
}
}
}


出力画像(sample834a.png)
groovyで描画した立体的な文字列

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

関連項目
Java2DとJava Image Filters(pixels)を使用して立体的な文字列を描画する