2012-03-05 4 views
2

Я создал 32-битное изображение ARGB в Gimp. Когда я загружаю растровое изображение в BufferedImage, используя общий способ (BufferedImage img = ImageIO.read (imagePath);), изображение загружается, но альфа-канал просто визуализируется черным цветом. Когда я отлаживаю свое приложение, я вижу, что BufferedImage присваивается тип TYPE_INT_RGB вместо ожидаемого типа TYPE_INT_ARGB. Как загрузить файл BMP в BufferedImage этого типа?Загрузить BufferedImage из растрового изображения ARGB

+0

Какой формат файла вы используете? Скорее всего, вы выбрали формат, который не поддерживает альфу. – Durandal

ответ

2

Я предполагаю, что вы сохраняете файл в формате Bitmap (BMP) Windows.

Первое, что нужно проверить, как предполагает Дюрандал, заключается в том, что вы выбираете формат BMP, поддерживающий альфу. В разделе «Дополнительные параметры» в диалоговом окне «Сохранить как BMP» убедитесь, что вы выбрали формат A8 R8 G8 B8.

Если это не сработает, попробуйте сохранить как PNG вместо BMP. Файлы BMP имеют много подформатов, и API обработки изображений Java может не поддерживать их всех.

+0

Upvote для PNG, он также более компактен. –

Смежные вопросы