1
我正在使用Java進行驗證碼的過程,但我無法改進文本質量,「drawString」方法在我的圖像上生成。文質的提高「drawString」方法的文本質量
例子:
實際上,你可以看到文字的可怕邊緣。
Java代碼:在PHP中使用同一種字體的
File file = new File("C:\\captcha.png");
File file2 = new File("C:\\captcha2.png");
File fontfile = new File("C:\\xerox.ttf");
BufferedImage bfimage = ImageIO.read(file);
Graphics2D g = bfimage.createGraphics();
Font myfont = Font.createFont(Font.PLAIN, fontfile);
myfont = myfont.deriveFont(50f);
g.setFont(myfont);
g.setColor(Color.black);
AffineTransform att = new AffineTransform();
g.translate(100, 50);
att.rotate(Math.toRadians(15), 100, 50);
g.setTransform(att);
g.drawString("12345", 100, 50);
RenderedImage rimg = bfimage;
ImageIO.write(rimg, "PNG", file2);
例,但這裏的質量是很多邊緣光滑更好:
如何提高文字質量由Java中的「drawString」方法生成?
的「VALUE_TEXT_ANTIALIAS_DEFAULT」現場並沒有解決問題,但場「VALUE_TEXT_ANTIALIAS_ON」解決了這個問題 - THX! – Birdman
不客氣:) – mcfinnigan
「VALUE_TEXT_ANTIALIAS_ON」爲我解決了 – Joqus