Java中映像和BuffereImage的区别
Image和BuffereImage之间的区别是什么Java中映像和BuffereImage的区别,java,image,bufferedimage,Java,Image,Bufferedimage,Image和BuffereImage之间的区别是什么 我可以直接从图像源“Image.png”创建BuffereImage吗?图像是一个抽象类。您不能直接实例化图像。BuffereImage是一个后代,您可以实例化它。因此,如果您了解抽象类和继承,您将了解何时使用它们 例如,如果您使用多个图像子体,它们将共享一些从图像继承的公共属性 如果您想编写一个函数,将任何一种子体作为参数,您可以执行以下操作: function myFunction(Image myImage) { int i = m
我可以直接从图像源“Image.png”创建BuffereImage吗?图像是一个抽象类。您不能直接实例化图像。BuffereImage是一个后代,您可以实例化它。因此,如果您了解抽象类和继承,您将了解何时使用它们 例如,如果您使用多个图像子体,它们将共享一些从图像继承的公共属性 如果您想编写一个函数,将任何一种子体作为参数,您可以执行以下操作:
function myFunction(Image myImage) {
int i = myImage.getHeight();
...
}
然后,可以通过传递BuffereImage或VolatileImage来调用该函数
BufferedImage myBufferedImage;
VolatileImage myVolatileImage;
...
myFunction(myVolatileImage);
myFunction(myBufferedImage);
您不会将图像转换为BuffereImage,因为您永远不会拥有图像。如果您熟悉Java的util.List,则图像和BuffereImage之间的区别与列表和LinkedList之间的区别相同 图像是一个通用概念,BuffereImage是通用概念的具体实现;有点像宝马是一款汽车
图像
和缓冲图像
之间有什么区别
正如Oracle Java图像处理教程中所述
- Image类是将图形图像表示为像素矩形数组的超类
- java.awt.image.buffereImage类,它扩展了image类,允许应用程序直接使用图像数据进行操作(例如,检索或设置像素颜色)。应用程序可以直接构造此类的实例
我可以直接从图像源“Image.png”创建
buffereImage
当然
BufferedImage img = ImageIO.read(getClass().getResource("/path/to/image"));