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