1
我正在使用Android Developers Samples的相機代碼在預覽中獲取圖像的一部分,並對其執行一些處理。從TextureView獲取圖像的一部分
我想從預覽的[0,0]到[99,99]中獲取一個正方形圖像,對其進行處理並在動態顯示在ImageView中。我試圖通過輸入以下代碼來獲取當前圖像:
final Activity activity = getActivity();
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
final Bitmap originalBitmap = mTextureView.getBitmap();
// more code here
}
});
at this part of the code。通過調用getBitmap(),它使應用程序非常慢。
有沒有一種有效的方式來以1:1的比例得到所需的方形部分?
我知道我可以用更小的尺寸調用getBitmap()並使其更快,但我想避免丟失數據。
不要在UI線程上運行。使用'new Thread(new Runnable {...})'。或者asynctask以及 –
@ v-kalyuzhnyu:通過這樣做,我得到以下錯誤_android.view.ViewRootImpl $ CalledFromWrongThreadException:只有創建視圖層次結構的原始線程可以在訪問mTextureView時觸及其views._。 –