Andriod arcgis保存Mapview为图片的实例代码
废话不多说了,直接给大家贴代码了,具体代码如下所述:
/**
*把一个View的对象转换成bitmap
*/
privateBitmapgetViewBitmap(MapViewv){
v.clearFocus();
v.setPressed(false);
//能画缓存就返回false
booleanwillNotCache=v.willNotCacheDrawing();
v.setWillNotCacheDrawing(false);
intcolor=v.getDrawingCacheBackgroundColor();
v.setDrawingCacheBackgroundColor(0);
if(color!=0){
v.destroyDrawingCache();
}
v.buildDrawingCache();
BitmapcacheBitmap=null;
while(cacheBitmap==null){
cacheBitmap=v.getDrawingMapCache(0,0,v.getWidth(),v.getHeight());
}
Bitmapbitmap=Bitmap.createBitmap(cacheBitmap);
//Restoretheview
v.destroyDrawingCache();
v.setWillNotCacheDrawing(willNotCache);
v.setDrawingCacheBackgroundColor(color);
returnbitmap;
}
publicvoidsaveMyBitmap(StringbitName,BitmapmBitmap){
StringFileName=this.getInnerSDCardPath()+"/"+bitName+".png";
ShowMessage(FileName);
Filef=newFile(FileName);
try{
f.createNewFile();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
Log.e("在保存"+FileName+"图片时出错:"+e.toString(),"在保存"+FileName+"图片时出错:"+e.toString());
}
FileOutputStreamfOut=null;
try{
fOut=newFileOutputStream(f);
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
mBitmap.compress(Bitmap.CompressFormat.PNG,100,fOut);
try{
fOut.flush();
}catch(IOExceptione){
e.printStackTrace();
}
try{
fOut.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
//缩小
privateclassButtonNexitClickListenerimplementsView.OnClickListener{
publicvoidonClick(Viewv){
//ShowMessage("ok1");
Bitmapbitmap=getViewBitmap(mapView);
//ShowMessage("ok2");
saveMyBitmap("yl",bitmap);
//ShowMessage("ok3");
bitmap.recycle();
ShowMessage("保存成功");
}
}
以上所述是小编给大家介绍的Andriodarcgis保存Mapview为图片的实例代码,希望对大家有所帮助!