作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想获取位图对象的 mime 类型。实际上我已经使用
压缩了位图bitmap.compress (Bitmap.CompressFormat.PNG , 100, stream);
现在我想交叉检查格式、outBounds 和内存空间大小。但我不想做一个冗长或乏味的任务,例如。将其转换回流,然后使用带选项的 BitmapFactory 将其再次转换为 BItmap。
最佳答案
正如 Dmitry 所建议的那样,如果您拥有的是流中的压缩图像,那么您确实需要使用 BitmapFactory 对其进行解码以判断它是什么类型。 (从技术上讲,您也可以自己读取流并对其运行您自己的临时文件格式检查,但我假设您更愿意使用现有工具而不是滚动你自己的。)
您可以而且应该进行的一项优化是设置 BitmapFactory.Options.inJustDecodeBounds如果您只想知道它是什么类型,可以避免不必要地解码整个图像。解码后,outMimeType属性应该为您提供图像的类型。
至于你标题中的字面问题,没有意义。 Bitmap没有 MIME 类型——它只是一个像素数组的容器。您可以使用各种格式(例如 JPEG、PNG 或 WEBP)将位图压缩为流,但这只会为您提供图像的压缩副本。
关于android - 如何从android中的位图对象获取mime类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519720/
我是一名优秀的程序员,十分优秀!