1

我正在使用来自Android Developers Samples的相机代码在预览时获取图像的一部分并对其执行一些处理。

我想从预览的 [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
 }
});

在这部分代码。通过调用 getBitmap(),它使应用程序变得非常缓慢。

有没有一种有效的方法可以以 1:1 的比例获得我需要的正方形部分?

我知道我可以用更小的尺寸调用 getBitmap() 并使其更快,但我想避免丢失数据。

4

1 回答 1

2

这有什么用?

CustomView mTextureView = new CustomView(getApplicationContext());
new Task().execute(mTextureView.getBitmap());

这是异步任务

 public class Task extends AsyncTask<Bitmap, Void, Void> {

    public Task() {

    }

    @Override
    protected Void doInBackground(Bitmap... objects) {
        //... do stuff
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        super.onPostExecute(result);
   }
}
于 2016-02-21T15:23:14.850 回答