【发布时间】:2015-03-18 14:22:18
【问题描述】:
我想将 SD 卡上的图像转换为位图。我正在使用下面的代码
String filepath = "/storage/emulated/0/Download/sample2.tif";
Bitmap bm = BitmapFactory.decodeFile(filepath);
此代码适用于扩展名为 .jpg 或 .png 的文件,但不适用于 .tif 或 .tiff。对于 TIFF 文件,bm变为 null 无异常,所有文件路径均有效。
Android BitmapFactory 在解码 TIFF 图像方面是否有任何限制?
也试过decodeByteArray and decodeStream,对我来说似乎是个限制。
我可以将 TIFF 图像文件读取为byte [],但是将字节 [] 或文件输入流转换为位图返回 null
请告诉我任何其他将 TIFF 图像文件转换为位图的方法。
【问题讨论】:
-
我不相信
BitMapFacotry支持 TIFF。 TIFF 格式是一种相当复杂的文件格式(支持几乎无限的位深度、通道数、压缩算法等组合)。你可能想使用 libTiff,而不是自己实现它(除非你真的喜欢做这样的事情,比如我...... :-))。 -
@GreyBeardedGeek 不,我认为这无关。
标签: java android android-activity bitmap android-bitmap