12 01 2010 Python jython processing Tweet
processingはpdfに出力できるらしい。同じことはjythonでも可能でしょう。
と思いつつ、三日くらいはまった。classpathにpdf.jarだけでなくitext.jarも設定しておかないといけなかったのがわからなかった。itextってのはフリーのpdfライブラリらしい。それにしても、classpathがどんどん長くなっていくのが気持ち悪いなぁ。もうちょっとスマートに記述する方法もあるんだろうな。
from javax.swing import JFrame
from processing.core import PApplet
from random import randint
import processing.pdf
class Sketch(PApplet):
def __init__(self):
pass
def setup(self):
self.size(200, 200, PApplet.PDF,"noiseline.pdf")
self.colorMode(PApplet.HSB, 100)
self.noFill()
self.fluc_color = 50
def getField(self, name):
return self.class.superclass.getDeclaredField(name).get(self)
def draw(self):
self.background(0)
for i in range(0, 200 ,5):
self.fluc_color += randint(-10,10)
self.stroke(self.fluc_color, 60, 90, 30)
fluc_y = 0
self.beginShape()
for j in range(0, 200, 5):
fluc_y += randint(-2, 2)
self.vertex(j, i + fluc_y)
self.endShape()
self.exit()
def run(applet):
frame = JFrame(title="Processing",
resizable = 1,
defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
frame.contentPane.add(applet)
applet.init()
frame.pack()
frame.visible = 1
if __name__ == '__main__':
run(Sketch())
実際に生成されるpdfはこれです。