有时候,我们可以检测到有些图片,比如QQ 微信,当我们选择修改头像的时候,对于那些已经损坏的图片,它们会提供一张替换的图。
但是我们如何去判断读出来的图像是已经损坏的呢?用如下方法即可:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap bit = BitmapFactory.decodeFile(path, options); //filePath代表图片路径
if (options.mCancel || options.outWidth == -1
|| options.outHeight == -1) //说明图片已经损坏
{
Toast.makeText(this, "图片已经损坏,请换一张图片", Toast.LENGTH_SHORT).show();
finish();
}
else
{
bit = BitmapFactory.decodeFile(path);
ivSelectHeader.setImageBitmap(bit);
}