2012-03-05 66 views
2

我在Gimp中创建了一个32位的ARGB图像。当我使用常用​​的方法(BufferedImage img = ImageIO.read(imagePath);)将位图加载到BufferedImage时,图像被加载,但alpha通道只是以黑色显示。当我调试我的应用程序时,我可以看到BufferedImage被分配了TYPE_INT_RGB类型,而不是预期的TYPE_INT_ARGB类型。 如何将我的BMP文件加载到这种类型的BufferedImage?从ARGB位图加载BufferedImage

+0

你使用哪种文件格式?很可能你选择了不支持alpha的格式。 – Durandal 2012-03-05 17:17:04

回答

2

我假设您保存为Windows位图(BMP)文件。

Durandal建议,首先要检查的是您选择的BMP格式支持alpha。在另存为BMP对话框中的高级选项下,确保选择A8 R8 G8 B8格式。

如果这不起作用,请尝试保存为PNG而不是BMP。 BMP文件有许多子格式,Java Imaging API可能不支持所有这些子格式。

+0

Upvote for PNG,它也更加紧凑。 – 2012-03-06 01:06:35

相关问题