所以我有這個奇怪的問題。 9/10次,它可以很好地工作,但是這10%根本無法工作。保存Android ImageView位圖
我想簡單地有一個ImageView,我可以放大和平移。這很好用,然後我嘗試將imageView保存到手機本身。這是大多數情況下它會工作的地方,但有時它會將圖像保存爲黑屏......而不是ImageView上實際顯示的內容。
這裏是我的拯救ImageView的代碼:
protected void saveZoomedImage(){
//create ImageView Bitmap
RelativeLayout tableContent;
tableContent=(RelativeLayout)findViewById(R.id.imgHolder);
tableContent.measure(MeasureSpec.makeMeasureSpec(tableContent.getLayoutParams().width, MeasureSpec.EXACTLY),
MeasureSpec.makeMeasureSpec(tableContent.getLayoutParams().height,MeasureSpec.EXACTLY));
tableContent.setDrawingCacheEnabled(true);
final Bitmap screenshot = Bitmap.createBitmap(tableContent.getDrawingCache());
tableContent.setDrawingCacheEnabled(true);
//save file
File folder = new File(Environment.getExternalStorageDirectory() + "/thedir");
if(!folder.exists()){
folder.mkdir();
}
String exsistingFileName=Environment.getExternalStorageDirectory().getAbsolutePath() + "/thedir";
FileOutputStream fos = null;
try {
fos = new FileOutputStream(exsistingFileName + "/image.jpg");
screenshot.compress(Bitmap.CompressFormat.JPEG, 90, fos);
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
它保存文件很好,但它只是好像它不捕獲圖像上的次數不多%年齡有些道理的。
您可以調用'tableContent.setDrawingCacheEnabled(true);'兩次。第二次你的意思是假嗎? – CodeMonkey
啊是的大聲笑 - 認爲可能導致了這個問題,但? – user3267847
我不知道。這是可能的,我想。這是唯一突出給我的東西。如果您有第10次出現的錯誤消息,如果您編輯了文章以包含該文章,則可能會有所幫助。 – CodeMonkey