我怎樣才能「讀取」圖形信息下面的組件 (假設爲BufferedImage)?Swing:如何閱讀組件下的圖形信息?
我想使該組件半透光(已經完成) 並適用於底層的東西圖形效果,如模糊將構成要素(而非組件本身)下的所有 元素。
我的做法是錯誤的可能性:
我試圖讓在漆(...)方法給我 從Graphics2D的實例圖形信息,但它是空的,對不對?
我怎樣才能「讀取」圖形信息下面的組件 (假設爲BufferedImage)?Swing:如何閱讀組件下的圖形信息?
我想使該組件半透光(已經完成) 並適用於底層的東西圖形效果,如模糊將構成要素(而非組件本身)下的所有 元素。
我的做法是錯誤的可能性:
我試圖讓在漆(...)方法給我 從Graphics2D的實例圖形信息,但它是空的,對不對?
問題:您的組件是否是頂級的(即,您想知道JFrame下桌面上的內容),還是隻想了解組件下方的組件?
如果是1),那麼用java.awt.Robot
方法createScreenCapture(Rectangle)
抓取屏幕截圖是一件簡單的事情;在這種情況下,Rectangle
應該是您的窗口範圍。
如果2),那麼如果你有一個參考下面的組件,你可以利用這個事實,即paint(Graphics)
不關心Graphics
對象來自哪裏。您可以創建一個BufferedImage
,請致電createGraphics()
(如果預計Graphics2D
),並將結果傳遞給您要捕獲的組件的paint(Graphics)
方法。
請注意,如果組件是一個容器,它也會繪製其子項;這可能是也可能不是你想要的。
我需要2號)。謝謝,我會試試這個! – 2009-05-19 15:25:42