2011-03-08 78 views
0

我目前有一个Graphics2D对象,它充当垂直坐标系(常规x-y系统)。我想实现对鼠标监听器进行缩放。我还以为得到一个的BufferedImage机器人类,然后使用PixelGrabber都会放大,但想知道如果我可以直接与工作的Graphics2D不使用图片对象。缩放Graphics2D对象

回答

1

是的。您可以使用AffineTransform(特别是AffineTransform.getScaleInstance)来缩放图形上下文的所有方面。您可以使用它来放大(创建更大的比例)或缩小(使用小于1的比例)。我有a blog post that shows how to use AffineTransforms for things like rotation and translation,并没有太多的缩放,但它是一个类似的原则。您必须注意图形上下文如何影响选择,侦听器等内容(您的面板坐标系需要转换为图形上下文的坐标系以便正确选择/点击对象在缩放的图形上下文中)。