Java的drawImage()應該如何使用?我沒有發現JDK文檔非常接近。例如,所有drawImage簽名都需要一個ImageObserver,但文檔對於新用戶來說並不是很有幫助。Java Graphics.drawImage()如何工作以及ImageObserver的作用是什麼
回答
您可以通過Graphics.drawImage(img, x, y, null)
[或類似]逃脫。 ImageObserver
參數是一個回調,通知您繪製操作的進度;並且只有在您異步獲取Image參數時纔有用。
更清晰,如果調用drawImage
與不完全加載的圖像將:
- 返回FALSE(立即)
- 繪製儘可能多的
Image
儘可能的(即加載全部) - ,並在未來的某個時刻,調入
ImageObserver
當更多的圖像可用
基本上,如果你與我的工作n內存Image
(不管是從文件系統加載還是由程序構建)都不用擔心參數ImageObserver
。如果您通過網絡加載Image
,並且未明確等待加載,則需要使用ImageObserver
以確保「完全」繪製Image
。
其實我用drawImage()
多次總是用ImageObserver
參數設置爲null
。好吧,這並不意味着它沒用,但我做了我所需要的任何東西,但不知道它的用途。
:-)我也是 - 我不知道這是否會成爲問題。 – 2009-11-06 00:31:30
Image
對象未必完全加載。如果在不完整的圖像上調用Graphics.drawImage
,它將盡可能多地繪製圖像,然後在加載更多圖像時提醒ImageObserver
(通過調用imageUpdate
)。
ImageObserver
可以爲空,在這種情況下,您將不會收到任何通知。如果圖像已知被加載,或者已經有另一個機制進行重繪,這是很常見的。
請注意,Component
implements ImageObserver
,其imageUpdate
方法將導致repaint
在受影響的區域。
'imageUpdate'也被稱爲動畫圖像。 – 2009-11-06 00:26:46
正如其他人所暗示的,這個API是在假設將要呈現的圖像將被加載到網絡上時構思的。當您要求工具包加載圖像時,假設它只是一個外殼,並且知道其大小和像素所需的字節仍然沿着網線爬行。
在這種情況下,drawImage在第一次調用時可能不會呈現任何內容。隨着大小和像素可用,ImageObserver將被通知。在Component implements ImageObserver
的情況下,其行爲是在數據可用時重新繪製。
- 1. 什麼是ImageObserver?
- 2. Graphics.drawimage不工作Java 8
- 3. python Rlock如何工作以及Rlock的所有者是什麼?
- 4. 什麼是SQL中的procedure.ini以及.ini如何工作?
- 5. jquery fancybox - 它是如何工作的以及它需要什麼?
- 6. 什麼是MySql工作臺以及我們使用它的目的是什麼?
- 7. 什麼是HOPOPT協議,以及socket()如何工作?
- 8. 什麼是sb協議以及內部工作如何?
- 9. JMeter中的實現選項是什麼以及它是如何工作的?
- 10. EJB。什麼是它爲什麼存在以及它如何工作?
- 11. 如何逐步加載Image以使ImageObserver正常工作?
- 12. 什麼是VertiPaq及其工作原理
- 13. AddImplicitRequiredAttributeForValueTypes如何真正起作用以及它的作用是什麼?
- 14. Mifare classic - 什麼是地址字節,以及它是如何工作的
- 15. 什麼是app,selendroid和硒以及它們的工作方式?
- 16. 什麼是ZooKeeper以及zookeeper的工作原理?
- 17. Swift什麼是模型文件用於以及它如何工作?
- 18. 爲什麼以及這個「for..in」聲明如何工作?
- 19. someArray [5]爲什麼以及如何在objective-c中工作?
- 20. Auomated測試如何工作以及測試什麼?
- 21. 該程序如何工作以及爲什麼答案 - (4)C++
- 22. 分段錯誤 - 爲什麼以及它如何工作?
- 23. IIS包含什麼以及它如何工作?
- 24. 在C中如何以及爲什麼float main()工作?
- 25. Graphics.drawimage不起作用
- 26. Jenkins的種子工作是什麼?它是如何工作的?
- 27. 這個auto_ptr程序是如何工作的以及它做了什麼?
- 28. 什麼是PDO的全面抽象層以及如何與Firebird一起工作?
- 29. 什麼是__future__在Python中用於和如何/何時使用它,以及它是如何工作的
- 30. 我應該爲Graphics.drawImage()函數的ImageObserver參數使用null嗎?
非常感謝,這非常有幫助。 – 2016-08-03 22:20:51