今まで、「画像を読み込んで線や図形を描く」というのはGroovyFXでやってたんですが、
JavaFXってheadlessで出来ないんですね!?
びっくりポンです。
java.awt.headless=true
もそういやAWTなんですね。
うーむ、流石は廃止されるJavaFX、と思ったんですが、
どうせim4java
使ってるなら、なんだImageMagickだけで出来るじゃーん、
ということに遅ればせながら気付きました。
ImageMagickってdrawも出来るんですね。
大体、以下の要領です。
import org.im4java.core.*
op = new IMOperation()
op.addImage(...)
で画像fileを読み込むop.fill('rgba(255,100,0,0.5)')
等と塗り潰す色を指定op.stroke('white')
等と線の色を指定op.draw('rectangle 0,10,30,30')
で長方形を描画op.draw('text 0,10 ABCD')
で文字を描画op.quality(80)
で圧縮率(品質)指定- もう一度
op.addImage(...)
で出力画像の名前と形式を指定 new ConvertCmd().run(op)
で実行
公式pageにありますけどね。