2012-11-01 140 views
0

我用下面的代碼來生成一個節點的圖像,並與ImageView的將它添加到我的場景的清晰圖像:如何獲得一個節點

SnapshotParameters snapParams = new SnapshotParameters(); 
snapParams.setFill(Color.TRANSPARENT); 
this.dragImage = new ImageView(draggable.snapshot(snapParams, null)); 

... 

frontPane.getChildren().add(this.dragImage); 
Bounds localBounds = frontPane.sceneToLocal(draggable 
    .localToScene(draggable.getBoundsInLocal())); 
this.dragImage.relocate(localBounds.getMinX(), 
localBounds.getMinY()); 

不幸的是,所呈現的圖像是非常模糊可以在我的截圖中看到。 任何想法可能是什麼問題或如何檢索一張未被映射的圖像將受到歡迎。

更新:

同時播放角落找尋我刪除

this.dragImage.relocate(localBounds.getMinX(),localBounds.getMinY()); 

,其與沒有模糊導致的鮮明的圖像在所有。我不知道爲什麼會出現這種情況,我仍然需要將圖像翻譯到正確的位置。

blurred snapshot

回答

1

我擺脫了模糊的用一個簡單的投在移居調用INT:

this.dragImage.relocate((int) localBounds.getMinX(),(int) localBounds.getMinY()); 

我發現localBounds.getMinX()爲638.5和localBounds.getMinY()是136.5。進一步的實驗使我得出這樣的結論:翻譯的非整數值導致圖像模糊。

對此的解釋可以在「與座標系互動」中的Shape的API文檔中找到。

相關問題