最近项目需要显示图片和视频文件的缩略图,记录下用到的、有效的方法。
获取图片缩略图
图片文件流转换成图片
/**
* 加载本地图片(文件流转换成图片)
* @param url
* @return
*/
fun getLoacalBitmap( pathName: String) : Bitmap? {
try {
var fis: FileInputStream = FileInputStream(pathName);
return BitmapFactory.decodeStream(fis); ///把流转化为Bitmap图片
} catch ( e:FileNotFoundException) {
e.printStackTrace();
return null;
}
}
根据路径获取图片
/**
* 根据路径获取图片
*/
fun getBitmap( pathName: String) : Bitmap?{
var file : File = File(pathName)
var bm : Bitmap? = null
if(file.exists()){
bm = BitmapFactory.decodeFile(pathName)
}
return bm
}
根据视屏文件获取缩略图
/**
* 根据视屏路径获取缩略图
*/
fun getVideoThumb(path: String): Bitmap {
val media = MediaMetadataRetriever()
media.setDataSource(path)
return media.frameAtTime
}