1.file转bitmap
File param = new File();
Bitmap bitmap= BitmapFactory.decodeFile(param.getPath());
2.drawable转bitmap
Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.mipmap.jcss_03 );
3.url转bitmap
Bitmap bitmap;
public Bitmap returnBitMap(final String url){
new Thread(new Runnable() {
@Override
public void run() {
URL imageurl = null;
try {
imageurl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection)imageurl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
return bitmap;
}
可配合前台线程显示
private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case REFRESH_COMPLETE:
myheadimage.setImageBitmap(bitmap);//显示
break;
}
}
};
String imageUrl = "http://www.pp3.cn/uploads/201511/2015111212.jpg";
bitmap= returnBitMap(imageUrl);
mHandler.sendEmptyMessageDelayed(REFRESH_COMPLETE, 1000);
4.bitmap转file
private String SAVE_PIC_PATH = Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED)
? Environment.getExternalStorageDirectory().getAbsolutePath() : "/mnt/sdcard";//
private String SAVE_REAL_PATH = SAVE_PIC_PATH + "/good/savePic";//保存的确
saveFile(bmp, System.currentTimeMillis() + ".png");//如要吐司提示保存结果,换用下面的方式
//在UI线程执行saveFile方法,才可加入吐司 runOnUiThread(new Runnable() { @Override public void run() { try { saveFile(bitmap, System.currentTimeMillis() + ".png"); } catch (IOException e) { showShortToast("保存失败"); e.printStackTrace(); } } });
/** * 将Bitmap保存到本地 * * @author liu * @date 2019/3/12 */ private void saveFile(Bitmap bm, String fileName) throws IOException { String SAVE_PIC_PATH = Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED) ? Environment.getExternalStorageDirectory().getAbsolutePath() : "/mnt/sdcard";//保存路径 String subForder = SAVE_PIC_PATH + "/Andun/"; File foder = new File(subForder); if (!foder.exists()) foder.mkdirs(); File myCaptureFile = new File(subForder, fileName); LogUtils.d("协议图片保持。。。。。。。。" + myCaptureFile); if (!myCaptureFile.exists()) myCaptureFile.createNewFile(); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile)); boolean isSuccess = bm.compress(Bitmap.CompressFormat.JPEG, 100, bos); bos.flush(); bos.close(); if (isSuccess) { showShortToast("保存成功"); //保存图片后发送广播通知更新相册数据库 Uri uri = Uri.fromFile(myCaptureFile); mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri)); } else { showShortToast("保存失败"); } }