BufferedImage:文字疊加並回傳
對文字繪製座標的誤解
對文字繪製座標的誤解
調整文字基線gO.drawString(this.text, this.x, this.y + 12);至為了彌補這一點,調整你的y 座標以適應字體的高度:
這假設你正在使用基線為12px 的字體。如有必要,您可以相應地調整偏移量。
顏色模型注意事項private BufferedImage process(BufferedImage image) { Graphics2D g2d = image.createGraphics(); // Code to overlay text... g2d.dispose(); return image; }值得注意的是,由於影像中使用的色彩模型,您也可能會遇到不相容的情況。考慮使用合適的顏色模型渲染圖像,然後使用以下方法在原位修改它:
在這種方法中,文字直接繪製到現有圖像上,確保相容性。
完整修正程式碼protected BufferedImage Process2(BufferedImage image){ Graphics2D gO = image.createGraphics(); gO.setColor(Color.red); gO.setFont(new Font( "SansSerif", Font.BOLD, 12 )); gO.drawString(this.text, this.x, this.y + 12); System.err.println(this.text+this.x+this.y); return image; }
以上是為什麼我的文字疊加不能正確顯示在 BufferedImage 上?的詳細內容。更多資訊請關注PHP中文網其他相關文章!