我正在使用 Java Swing / AWT 技术开发矢量图形编辑器。
我对创建尺寸大于用户屏幕分辨率的图形区域(工作区)的解决方案感到好奇。
例如:Window of creating new file
public WorkspaceComponent() {
setPreferredSize(new Dimension(**WIDTH**,**HEIGHT**));}
用户想要创建一个尺寸为 1920 x 1080 [px] 的文档,但他/她的屏幕上只有 1280 x 720 [px] 。
有人有想法或解决方案来缩放绘图区域以匹配屏幕,并且在导出后具有原始大小吗?
答案 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的值将使它变大。