gpt4 book ai didi

java - 在小程序中将图像转换为缓冲图像

转载 作者:行者123 更新时间:2023-11-30 09:20:04 25 4
gpt4 key购买 nike

我尝试了很多方法在小程序程序中将 Image 类的图像转换为 BufferedImage。我得到了一种从 netbeans 运行时工作正常的方法。但是通过浏览器运行时相同的代码不起作用。我试过的代码是

ImageIcon icon = new ImageIcon(orgImage);
BufferedImage buffer = ((ToolkitImage) icon.getImage()).getBufferedImage();

还尝试了以下

1) BufferedImage buffer = ((ToolkitImage) orgImage).getBufferedImage();

2) BufferedImage buffer = new BufferedImage(
orgImage.getWidth(null), orgImage.getWidth(null), BufferedImage.TYPE_INT_RGB);
buffer.getGraphics().drawImage(orgImage, 0, 0, null);

orgImage 是彩色图像。

在所有这些情况下缓冲区都是空的..

我的问题的解决方案是什么?

最佳答案

要将图像转换为缓冲图像,您可以使用以下函数:

/**
* Converts a given Image into a BufferedImage
*
* @param img The Image to be converted
* @return The converted BufferedImage
*/
public BufferedImage toBufferedImage(Image img){
if (img instanceof BufferedImage) {
return (BufferedImage) img;
}
// Create a buffered image with transparency
BufferedImage bimage = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
// Draw the image on to the buffered image
Graphics2D bGr = bimage.createGraphics();
bGr.drawImage(img, 0, 0, null);
bGr.dispose();
// Return the buffered image
return bimage;
}

将其粘贴到您类(class)的任何位置并使用以下代码:

BufferedImage bi = toBufferedImage(orgImage);

~问候麦克斯

关于java - 在小程序中将图像转换为缓冲图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17602972/

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