我有一個String
,我想將它繪製到圖像上。我可以繪製點和畫線,但是,即使在閱讀Text part of the 2D Graphics tutorial後,我也無法弄清楚如何將String
繪製到我的繪圖上。使用Java的Graphics或Graphics2D類,如何繪製一個字符串?
除非我看錯了教程(但是它是我每次搜索任何關於Java並使用Graphics
或者Graphics2D
繪製字符串時都會得到的教程),我仍然難住。
我有一個String
,我想將它繪製到圖像上。我可以繪製點和畫線,但是,即使在閱讀Text part of the 2D Graphics tutorial後,我也無法弄清楚如何將String
繪製到我的繪圖上。使用Java的Graphics或Graphics2D類,如何繪製一個字符串?
除非我看錯了教程(但是它是我每次搜索任何關於Java並使用Graphics
或者Graphics2D
繪製字符串時都會得到的教程),我仍然難住。
查看以下方法。
g.drawString();
drawString()
方法將做你所需要的。
一個例子使用:
protected void paintComponent(Graphics g){
g.setColor(Color.BLACK);
g.drawString(5, 40, "Hello World!");
}
記住,座標關於String
您繪製的左下角。
如果你想與您的字符串的形狀玩(如:填:紅色和中風:藍色):
Graphics2D yourGraphicsContext=(...);
Font f= new Font("Dialog",Font.PLAIN,14);
FontRenderContext frc = yourGraphicsContext.getFontRenderContext();
TextLayout tl = new TextLayout(e.getTextContent(), f, frc);
Shape shape= tl.getOutline(null);
//here, you can move your shape with AffineTransform (...)
yourGraphicsContext.setColor(Color.RED);
yourGraphicsContext.fill(shape);
yourGraphicsContext.setColor(Color.BLUE);
yourGraphicsContext.draw(shape);
感謝。爲什麼我在閱讀的教程中沒有提到這一點?我學到了很多關於字體和東西,雖然... – 2009-07-30 12:14:58