缩放图形绘图区域Java Swing / awt

时间:2018-12-02 20:33:41

标签: java swing awt graphics2d

我正在使用 Java Swing / AWT 技术开发矢量图形编辑器

我对创建尺寸大于用户屏幕分辨率的图形区域(工作区)的解决方案感到好奇。

例如:Window of creating new file

public WorkspaceComponent() { setPreferredSize(new Dimension(**WIDTH**,**HEIGHT**));}

用户想要创建一个尺寸为 1920 x 1080 [px] 的文档,但他/她的屏幕上只有 1280 x 720 [px]

有人有想法或解决方案来缩放绘图区域以匹配屏幕,并且在导出后具有原始大小吗?

1 个答案:

答案 0 :(得分:0)

AffineTransform上下文中使用Graphics2D可以缩放绘图区域。使用此功能,您甚至可以实现放大/缩小功能。

double scaledSize = ... // do calculations of the scale here

AffineTransform t = new AffineTransform();
t.scale(scaledSize, scaledSize);
g2d.setTransform(t);

// do your drawing after setting the transform

如果比例为1,则不会更改比例。小于1的值将使其变小,大于1的值将使它变大。