アタリ画像の作成(jython)
ライティングをしている段階では、まだ画像データが用意されていないことが あります。 その場合にアタリとしてサイズだけは合わせたダミー画像を用意して 作業することがあります。
今回はそんな場合にアタリ画像を簡単に生成するための jython スクリプトです。
gen-atari.py
import sys
import java.lang as lang
import java.io as io
import java.awt as awt
import java.awt.image as awtimage
import javax.imageio as imageio
def createImage(size):
type=awtimage.BufferedImage.TYPE_4BYTE_ABGR
bimg=awtimage.BufferedImage(size.width,size.height,type)
return bimg
def paint(g):
g.setColor(awt.Color.WHITE)
g.fill(awt.Rectangle(mysize.width,mysize.height))
g.setColor(awt.Color.BLACK)
g.draw(awt.Rectangle(mysize.width-1,mysize.height-1))
#msg="Hello World."
msg="dummy"
w=g.getFontMetrics().stringWidth(msg)
h=g.getFontMetrics().getHeight()
x=(mysize.width-w)/2
y=(mysize.height-h)/2+12
g.drawString(msg,x,y)
width=sys.argv[1]
height=sys.argv[2]
mysize=awt.Dimension(int(width),int(height))
outf=sys.argv[3]
bimg=createImage(mysize)
g=bimg.getGraphics()
g.setRenderingHint(awt.RenderingHints.KEY_ANTIALIASING,awt.RenderingHints.VALUE_ANTIALIAS_ON)
paint(g)
g.dispose()
fos=io.FileOutputStream( outf )
imageio.ImageIO.write(bimg,"PNG",fos)
fos.close()
Makefile
gen-atari,py を使用して、いろいろなサイズの アタリ画像を作成するためのMakefile.
py := gen-atari.py
all :
jython $(py) 100 100 100x100.png
jython $(py) 200 140 200x140.png
jython $(py) 300 30 300x30.png
jython $(py) 140 120 140x120.png
clean :
$(RM) *.png
make すると、それぞれ 100x100, 200x140, 300x30, 140x120 の画像サイズの PNG データを生成します。