imageView = getView().findViewById(R.id.iv_code);
private void code(){
//将ImageView中的图片转换成Bitmap
imageView.buildDrawingCache();
Bitmap bitmap = imageView.getDrawingCache();
//将Bitmap 转换成二进制,写入本地
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/picture");
if (!dir.isFile()) {
dir.mkdir();
}
//makeCheckCode() 是随机的字符串当然你也可以写别的看项目需要
File file = new File(dir, makeCheckCode() + ".png");
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write(byteArray, 0, byteArray.length);
fos.flush();
//用广播通知相册进行更新相册
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(file);
intent.setData(uri);
getContext().sendBroadcast(intent);
ToastUtils.showToast("------>通知相册更新成功");
} catch (
FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
随机生成的字符串当做图片的名字
public String makeCheckCode() {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 5; i++) {
int temp = (int) (Math.random() * 10);
sb.append(temp);
}
return sb.toString();
}