@Grab(group='com.jhlabs', module='filters', version='2.0.235') import java.awt.* import java.awt.image.* import java.io.* import javax.imageio.* import com.jhlabs.composite.* import com.jhlabs.image.* // エッジ抽出した透過画像を作成する def img = ImageIO.read(new File("sf2.jpg")) def imga = new BufferedImage( img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_ARGB ) def gr = imga.createGraphics() gr.drawImage(img,0,0,null) gr.dispose() // グレースケールフィルタ def grf = new GrayscaleFilter() imga = grf.filter(imga, null) // エッジ抽出 def ef = new EdgeFilter() imga = ef.filter(imga, null) def lc = new LinearColormap((int)0x00000000, (int)0xff7799dd) LookupFilter lf = new LookupFilter(lc) imga = lf.filter(imga, null) ImageIO.write(imga, "png", new File("edgetransparency.png"))
元画像
出力画像
動作環境
groovy 1.8.6, JDK7 update4
No comments:
Post a Comment