我攝取的圖像AWT(從PDF,通過PDFBox的)用下面的代碼:轉換AWT圖像SVG圖片
private java.awt.Graphics2D graphics;
public void drawImage(java.awt.Image awtImage, java.awt.geom.AffineTransform at) {
graphics.setComposite(getGraphicsState().getStrokeJavaComposite());
graphics.setClip(getGraphicsState().getCurrentClippingPath());
graphics.drawImage(awtImage, at, null);
}
和希望捕獲/輸出的圖像爲SVG。我一直用它產生的形式
<image x="0" y="0" transform="matrix(0.144,0,0,0.1439,251.521,271.844)"
clip-path="url(#clipPath2)" width="1797" xlink:href="data:image/png;
base64,iVBORw0KGgoAAAANSUhEUgAABwUAAAV4CAMAAAB2DvLsAAADAFBMVEX////+/v56
enpWVlZbW1taWlpZWVnHx8eRkZFVVVWMjIysrKxXV1dYWFhqamr5+fnMzMxeXl7c
3NyUlJR/f3+3t7cAAACGhob29vYpKSliYmJPT083Nzf8/PyBgYENDQ3s7OwwMDD1
...
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RPQP/R8CiIK+y8Q6KQAAAABJRU5ErkJggg==" height="1400"
preserveAspectRatio="none" stroke-width="0" xmlns:xlink="http://www.w3.org/1999/xlink"/>
我有我自己的SVG庫,並想方法添加到我的SVGImage類產生類似的SVG的蠟染庫。我是否需要將AffineTransformation應用於數據,如果是這樣的話?
我希望能指出適當的(F/OSS)方法或庫可以做到這一點。數據應該是內聯的(如上例)和XML兼容。
更新:在沒有任何答案或評論我不得不寫我自己的實現。這不是微不足道的,可能不健壯或最好的解決方案。我附上它作爲答案 - 請評論它是否有缺陷或可以改進。