缩放Graphics2D对象

时间:2011-03-08 23:29:28

标签: java graphics

我目前有一个Graphics2D对象,它充当垂直坐标系(常规x-y系统)。我想实现作用于鼠标监听器的缩放。我想过用 Robot Class获取 BufferedImage ,然后使用 PixelGrabber 放大,但想知道我是否可以直接使用Graphics2D而不使用图片对象。

1 个答案:

答案 0 :(得分:1)

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