1
Java(Graphics2D)の文字列/文字を、指定されたサイズの矩形に正確に合わせるようにスケールする方法を教えてもらえますか?内部)?内部の長方形に合わせるJavaのスケール文字列
これは私がこれまで持っているものです。
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());
私はこのコードを実行している問題は、文字列が長方形がおよそのサイズに合わせてスケーリングされているが、それは、まさにすなわち、それに適合していないということです。それは内部からの矩形の境界に触れません(これは私がしたいものです!)。
別のフォントを使用するのに役立ちますか?私は現在、モノスペースフォントを使用しています。 または、スケーリングを異なる方法で行う必要がありますか?
ありがとうございました!
なぜSwingのようなグラフィックスフレームワークを使用しないのですか? –
私は、Webアプリケーション用の画像を描画しています。Swingを使って簡単に解決する方法はありますか? – Tobieh
申し訳ありませんが、私は十分に質問を読んでいませんでした。私はボックスの端に正確に触れるためには、個々の文字間隔で遊ばなければならないと思います。 –