Java에서 문자열 앤티 앨리어싱에 문제가 있습니다. 이 코드를 사용하는 경우 일반 (회전하지 않은 문자열)에이 코드를 사용하면이미지 회전시 문자열 안티 앨리어싱이 작동하지 않습니다.
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
모두 괜찮습니다. 하지만 회전 된 이미지에서 앤티 엘리 어싱을 사용하려고하면 문자열을 그립니다.이 문자열 렌더링은 앤티 엘리 어싱 기능없이 렌더링됩니다.
이 앤티 엘리 어싱이 작동하지 않는 내 코드의 예입니다
Graphics2D g = originalImage.createGraphics();
AffineTransform affineTransform2 = new AffineTransform();
affineTransform2.setToIdentity();
affineTransform2.translate(125, 325);
affineTransform2.rotate(Math.toRadians(345));
BufferedImage positionImage = new BufferedImage(100, 40, BufferedImage.TYPE_INT_ARGB);
Graphics2D positionImageG2D = positionImage.createGraphics();
positionImageG2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
positionImageG2D.setFont(getFont(30f));
positionImageG2D.drawString("Some Text",100, 40);
positionImageG2D.dispose();
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g.drawImage(positionImage, affineTransform2, null);
고마워요! 나에게 가치 변형을 가진'KEY_INTERPOLATION'을 도와주세요! –
좋습니다! 나중에 참조 할 수 있도록 대답을 편집하겠습니다. :-) – haraldK