[英]Pipe Java2D Graphics drawings into multiple Graphics contexts
有誰知道是否有辦法(也許通過外部API)將圖形圖形/轉換為多個圖形? 想法是同時保存PNG和PDF(使用Java IText庫)。
您可以將Graphics對象寫入(java,而不是iText)Image對象。 您可以使用以下API調用將java.awt.Image添加到iText:
或者,您可以將圖像輸出到ByteArrayOutputStream並通過以下方法添加byte []:
iText圖片API: http : //api.itextpdf.com/itext/com/itextpdf/text/Image.html
我不熟悉PDF功能,但是我假定它不是將繪制的元素存儲為圖像,而是存儲為某種矢量圖形(基於實際的Graphics#draw...
調用,類似於來自Http的 SVGGraphics2D ://xmlgraphics.apache.org/batik/using/svg-generator.html )。
無論如何,您應該考慮使用不同的Graphics
對象進行兩次paint(g)
調用。 我能想象的唯一選擇是丑陋的...
class MulticastGraphics2D extends Graphics2D {
private List<Graphics2D> targets = new ArrayList<Graphics2D>();
void allTarget(Graphics2D g) { targets.add(g); }
void removeTarget(Graphics2D g) { targets.remove(g); }
@Override
public void drawLine(int x0, int y0, int x1, int y1) {
for (Graphics2D target : targets) target.drawLine(x0,y0,x1,y1);
}
// + hundreds of further overridden methods....
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.