4

我有一个使用 Java 和 Graphics2D 的图表工具。我想缩放生成的图表,使其在打印时完全适合 8.5 x 11 页面(横向)。

我在某处看到页面缩放比例为 72 英寸,但我不确定这与屏幕的 dpi 有何关系。为了让事情变得更复杂,我的屏幕以 144dpi 工作,但该软件包的大多数用户将使用 72dpi 或 96dpi(不确定哪个...?)。有没有人管理所有这些 dpi 的经验,包括打印?

使用 java.awt.print 包我可以打印我的图表,但是它们太大了,需要使用几页。我可以使用 缩放它们Graphics.scale(double, double),但是如何计算缩放因子以使图表适合一页?无论如何都是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 回答