我正在繪製一個畫布,並試圖將畫布保存爲JPEG。我已經在某些設備上測試了這一點,並發現它似乎並沒有對ICS工作,給我時,我嘗試下面的代碼一個UnsupportedOperationException錯誤:爲什麼setBitmap在ICS中似乎不起作用?
Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
canvas.setBitmap(bitmap);
// Drawing to canvas here
OutputStream stream = new FileOutputStream("/sdcard/test.jpg");
bitmap.compress(CompressFormat.JPEG, 100, stream);
stream.close();
這是在的onDraw方法全部完成,錯誤的是在canvas.setBitmap(位圖)上。
這適用於我的Droid X(2.3)和選項卡10.1(3.1),但在Galaxy Nexus(4.0)和我的選項卡10.1運行ICS時失敗。我可能只是在尋找一些非常簡單的東西。我一直在大部分時間都在進行這項工作,而沒有取得任何進展。任何想法將不勝感激!
更新: 我關閉了「強制GPU渲染」,現在它似乎工作。必須有更好的方式來做到這一點。
嗯,我的設置中禁用了嚴格模式。我試圖從一個AsyncTask這樣做,但我猜測,因爲它必須重畫畫布以將其保存到位圖,我得到泄漏的窗口錯誤。 – Mark