RenderedImage 和 BufferedImage 区别
时间: 2023-08-25 08:00:20 浏览: 69
`RenderedImage` 和 `BufferedImage` 都是 Java 中的图像处理类,但它们有些许不同之处。
`RenderedImage` 是 `java.awt.image.RenderedImage` 类的一个实例化对象,它是一个抽象类,不能直接实例化。它提供了一些图像处理和操作的方法,如获取图像的宽度和高度、获取像素值、获取颜色模型等。`RenderedImage` 可以由各种类型的图像实现,包括 `BufferedImage`。
`BufferedImage` 是 `java.awt.image.BufferedImage` 类的一个实例化对象,也是 `RenderedImage` 的一个实现类。它是最常见的图像处理类之一,提供了一些图像处理和操作的方法,如绘制图形、设置像素值、获取图像的子图像等。`BufferedImage` 可以直接从文件或流中读取图像数据,也可以从其他图像对象中创建。
因此,`BufferedImage` 是 `RenderedImage` 的一个实现类,它除了具有 `RenderedImage` 的特性外,还提供了更多的图像处理和操作方法。如果您需要进行更多的图像处理,建议使用 `BufferedImage`。
相关问题
java RenderedImage 保存为图片
您可以使用 `javax.imageio.ImageIO` 类中的 `write` 方法将 `RenderedImage` 对象保存为图片。下面是示例代码:
```java
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageIOExample {
public static void main(String[] args) throws IOException {
// 加载图片
RenderedImage image = ...;
// 保存为 PNG 格式
File outputFile = new File("output.png");
ImageIO.write(image, "png", outputFile);
// 保存为 JPEG 格式
outputFile = new File("output.jpg");
ImageIO.write(image, "jpg", outputFile);
}
}
```
在这个示例中,我们将 `RenderedImage` 对象保存为 PNG 和 JPEG 格式的图片。您可以根据需要调整文件名和格式。
PlanarImage.wrapRenderedImage(renderedImage).getAsBufferedImage()
`PlanarImage.wrapRenderedImage(renderedImage).getAsBufferedImage()` 这行代码的作用是将一个 `RenderedImage` 对象转换为 `BufferedImage` 对象。
`PlanarImage` 是 `javax.media.jai.PlanarImage` 类的一个实例化对象,它是 Java Advanced Imaging API(JAI)中的一个类。JAI 是 Java 平台上的图像处理工具包,它提供了一些高级的图像处理操作和算法。
`wrapRenderedImage` 方法的作用是将一个 `RenderedImage` 对象转换为 `PlanarImage` 对象,然后调用 `getAsBufferedImage` 方法将其转换为 `BufferedImage` 对象。
因此,`PlanarImage.wrapRenderedImage(renderedImage).getAsBufferedImage()` 这行代码的返回值是一个 `BufferedImage` 对象,可以对其进行进一步的图像处理操作。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![crx](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)