2011-03-08 69 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,並沒有太多的縮放,但它是一個類似的原則。您必須注意圖形上下文如何影響選擇,偵聽器等內容(您的面板座標系需要轉換爲圖形上下文的座標系以便正確選擇/點擊對象在縮放的圖形上下文中)。