加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Java中缩放图表以适合一个打印页面

发布时间:2020-12-15 02:26:54 所属栏目:Java 来源:网络整理
导读:我有一个使用 Java和Graphics2D的图表工具.我想缩放生成的图表,使其在打印时完全适合8.5 x 11页面(横向). 我看到某处页面缩放是72英寸,但我不确定这与屏幕的dpi有什么关系.为了使事情变得更复杂,我的屏幕工作在144dpi,但该软件包的大多数用户将使用72dpi或96
我有一个使用 Java和Graphics2D的图表工具.我想缩放生成的图表,使其在打印时完全适合8.5 x 11页面(横向).

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

使用java.awt.print包我可以打印我的图表,但它们太大了,使用了几个页面.我可以使用Graphics.scale(double,double)来缩放它们,但是如何计算缩放因子以使图表适合一页?并且Graphics.scale(double,double)是正确的工具吗?

解决方法

我在网上找到了这个代码.我认为它解决了你的问题.

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

我希望它对你有所帮助. Link to the web

问候!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读