1.参考java
//获得外部存储卡的路径android
String path=Environment.getExternalStorageDirectory().toString();canvas
//ff.png是将要存储的图片的名称
File file=new File(path, "ff.png");code
//从资源文件中选择一张图片做为将要写入的源文件
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ss);
try {
FileOutputStream out=new FileOutputStream(file);
bitmap.compress(CompressFormat.PNG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}orm
必定要不要忘记加权限图片
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>ci
2.应用资源
public void drawableTopicture(Drawable drawable) { /* * Drawable转化为Bitmap */ int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); Bitmap bitmap = Bitmap.createBitmap(width, height, drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888: Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0,0,width,height); drawable.draw(canvas); String filepath = null; /*建立目录*/ if(Tools.hasSdcard()){ filepath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/HeadImage"; File f = new File(filepath); if(!f.exists()){ f.mkdir(); } } headImgae_filename = new File(filepath,"headimage.png"); /*将bitmap保存为图片文件*/ FileOutputStream fos = null; try { fos = new FileOutputStream(headImgae_filename); bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos); fos.flush(); fos.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }