我希望能夠在由Path2D.Double構成的Java2D場景上縮放和取消縮放,而不需要使用 來增加線條,只需擴大距離即可。java2d對象的非破壞性轉換
我嘗試將轉換應用於PaintComponent方法接收的Graphics2D對象,但這會使線條變粗。我發現的唯一方法是對行進行轉換(例如line.transform(AffineTransform.getScaleInstance(2d,2d))
),但每次我縮放並再次取消縮放時,由於浮點錯誤,我都會丟失信息。
長話短說:轉變是破壞性的。有沒有一種方法可以說:「我希望在不修改線條內容的情況下應用該轉換」。
我看到我可以保存一個轉換並稍後爲Graphics2D恢復它,但我想要做的事情可以重新配置爲與Path2D一樣。 – 2010-07-14 22:36:11
@Paul Brauner:如上所述,您可以在'Path2D'上使用'AffineTransform'。 – trashgod 2010-07-15 01:35:14
是的,但它然後修改Path2D,這是整個點,我想能夠將它應用到Path2D並獲得一個新的沒有修改原來的一個 – 2010-07-15 09:02:20