[Java]產生SVG向量圖形檔-xml圖形檔

SVG圖檔是一種利用xml及css來製作而成的一種向量圖形,放大或縮小均不會改變其品質,不過當圖形複雜到一定程式時,其檔案也會跟著變大很多,能夠設計SVG圖形作品的軟體工具包括Adobe Illustrator以及CorelDRAW等,要能查看svg檔案裡的圖形可以利用browser像是firefox、chrome都可以直接知道此向量圖形的內容。

Wiki SVG

在Java要輸出(產生)SVG檔很簡單,在Apache 套件裡有一個batik可以很簡單的就生成所要的SVG圖檔,只需要把原本在建立圖檔時使用的java.awt.Graphics2D變成使用org.apache.batik.svggen.SVGGraphics2D來繪製圖形就可以了。

產生的結果圖:

ToSVG.png

Read More

JMagick-java ImageMagick取得圖片的長與寬

ImageMagick在壓縮圖形品質上真的很不錯,而且也可以在很多平台及程式語言上使用

不過在使用上並不像大家熟識的java 的imageio有那麼多資源,

原本是使用BufferedImage的getWidth()及getHeight()來取得圖的長與寬

不過讀取的Image會存放在java VM 暫存中,不能自行釋放,所以有時讀大量讀時會out of memory,

這時可以利用第三方套件ImageMagick來代替BufferedImage

一般利用BufferedImage取得長寬的方式大概如下

Read More