gpt4 book ai didi

java - 如何在没有初始化的情况下将图像转换为 BufferedImage?

转载 作者:搜寻专家 更新时间:2023-11-01 01:11:29 25 4
gpt4 key购买 nike

我想知道是否有一种方法可以将 Image 转换为 BufferedImage 而无需像这样的代码

new BufferedImage(...)

因为每个新的 init 都会使应用程序运行得更慢,而且,如果它在 paint() 方法中 :(

请告知最优化的转换方式。

谢谢

最佳答案

没有。除非原始 Image 恰好已经是 BufferedImage。然后你可以做一个 Actor :

BufferedImage bufImg = null;
if (origImage instanceof BufferedImage) {
bufImg = (BufferedImage) origImage;
else {
bugImg = new BufferedImage(...);
// proper initialization
}

如果它不是 BufferedImage,它很可能是 VolatileImage(API 中的另一个具体子类)。

来自 volatile image 的文档:

VolatileImage is an image which can lose its contents at any time due to circumstances beyond the control of the application (e.g., situations caused by the operating system or by other applications).

正如您可能理解的那样,这样的图像不能提供与 BufferedImage 相同的接口(interface),因此获得 BufferedImage 的唯一方法是创建一个,并且在其上绘制原始图像。

关于java - 如何在没有初始化的情况下将图像转换为 BufferedImage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5810035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com