Я хочу преобразовать изображения на SD-карте в растровое изображение. Я использую код ниже
String filepath = "/storage/emulated/0/Download/sample2.tif";
Bitmap bm = BitmapFactory.decodeFile(filepath);
Этот код отлично работает для файлов с расширением .jpg или .png, но не для файлов .tif или .tiff. Для файлов TIFF bm
становится нулевым без исключений ничего, все пути к файлам действительны.
Есть ли в Android BitmapFactory
какие-либо ограничения в отношении декодирования изображений TIFF?
Также пробовал decodeByteArray and decodeStream
, похоже на ограничение для меня. Я могу читать файл изображения TIFF как byte []
, но преобразование байта [] или входного потока файла, поскольку растровое изображение возвращает значение null
Сообщите мне о любом другом способе преобразования файла изображения TIFF в растровое изображение.
BitMapFacotry
поддерживает TIFF. Формат TIFF - довольно сложный формат файла (поддерживает практически неограниченные комбинации битовой глубины, количества каналов, алгоритмов сжатия и т. Д.). Вероятно, вы захотите использовать libTiff, а не реализовывать его самостоятельно (если вам не нравится делать такие вещи, как я ... :-)). - person Harald K   schedule 18.03.2015