4

Java と Graphics2D を使用する作図ツールがあります。印刷時に 8.5 x 11 ページ (横長) に正確に収まるように、結果の図を拡大縮小したいと考えています。

ページのスケーリングが 1 インチの 72 インチであることをどこかで見ましたが、これが画面の dpi とどのように関係しているかはわかりません。さらに複雑なことに、私の画面は 144dpi で動作していますが、パッケージのほとんどのユーザーは 72dpi または 96dpi を使用します (どちらかわかりません...?)。印刷を含め、これらすべての dpi を管理した経験のある人はいますか?

java.awt.print パッケージを使用してダイアグラムを印刷できますが、大きすぎて数ページを使用します。を使用しGraphics.scale(double, double)て拡大縮小できますが、図が 1 ページに収まるように拡大縮小率を計算するにはどうすればよいですか? とにかくGraphics.scale(double, double)正しいツールですか?

4

1 に答える 1

1

私はこのコードをウェブ上で見つけました。私はそれがあなたの問題を解決すると思います。

Graphics2D g2d = (Graphics2D)g; 
//Scale the component to fit    
//Calculate the scale factor to fit the window to the page.
double scaleX = pageFormat.getImageableWidth();
double scaleY = pageFormat.getImageableHeight();
double scale = Math.min(scaleX,scaleY);  //Get minimum scale factor

お役に立てば幸いです。ウェブへのリンク

よろしく!

于 2011-08-03T15:01:46.247 に答える