4

シェイプを使用Graphics2D.scale();して描画すると、アウトラインの太さもスケーリングされます。

線の太さを変えずに描く方法はありますか? おそらく、上記の関数を使用する以外に、それをスケーリングする別の効率的な方法はありますか?

4

3 に答える 3

1

この質問も同様です。適切な線幅を設定するには、Stroke オブジェクトをいじる必要があるようです。

于 2012-07-31T18:44:34.407 に答える
0

描画を線ベクトルのリストとして保存し、必要な線の太さを維持するために、さまざまなサイズで描画をスケーリングおよびレンダリングする必要があります。

于 2012-07-31T18:46:24.027 に答える
0

私は自分の質問に対する解決策を見つけました。それがどれほど効率的かはわかりませんが、意図したとおりに機能します。

Area area = new Area(myShape); //myShape is the shape I want to scale
AffineTransform at = new AffineTransform();
at.scale(2,2);
area = area.createTransformedArea(at);
graphics2d.draw(area); //graphics2d is the Graphics2D instance to do the drawing

おそらく、これが良いアプローチであるかどうかについて、誰かが私に教えてくれるでしょうか?

于 2012-07-31T18:52:37.077 に答える