1
문자열/문자를 Java (Graphics2D)로 축척하여 지정된 크기의 사각형에 정확히 맞 춥니 다. (즉, 내부)?자바에서 문자열을 내부의 사각형에 맞 춥니 다
String s = "S"; // always a single character!
Rectangle rect = getRect(); // defines the desired size and position
AffineTransform transform = new AffineTransform();
transform.setToTranslation(rect.getX(), rect.getY());
transform.scale(rect.getWidth()/(double) fm.stringWidth(s),
rect.getHeight()/(double) fm.getAscent());
FontRenderContext frc = image.getFontRenderContext();
TextLayout tl = new TextLayout(s, g2d.getFont(), frc);
Shape shape = tl.getOutline(transform);
g2d.setClip(shape);
g2d.fill(shape.getBounds());
문제이 코드를 실행 한 것은 문자열이 사각형이 약의 크기에 맞게 조절되어 있지만, 그것은 정확하게 맞지 않는, 즉 :
이
내가 지금까지 무엇을 가지고 . 그것은 내부에서 직사각형 경계를 만지지 않습니다 (그것은 내가하고 싶은 것입니다!).다른 글꼴을 사용하는 데 도움이됩니까? 나는 지금 monospace-font를 사용하고있다. 아니면 스케일링을 다르게해야합니까?
도움 주셔서 감사합니다.
왜 Swing과 같은 그래픽 프레임 워크를 사용하지 않습니까? –
난 그냥 웹 응용 프로그램에 대한 이미지를 그리기입니다. 당신이 스윙을 사용하여 쉽게 해결책을 알고 계십니까? – Tobieh
죄송합니다. 질문을 자세히 읽지 않았습니다. 상자의 모서리에 정확히 닿으려면 개별 문자 간격으로 놀아야 만 할 것입니다. –