我正在使用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
}
});
at this part of the code。通过调用getBitmap(),它使应用程序非常慢。
是否有一种有效的方法来获得我需要的1:1比例的方形部分?
我知道我可以用更小的尺寸调用getBitmap()并使其更快但我想避免丢失数据。
答案 0 :(得分:2)
关于这个怎么样?
CustomView mTextureView = new CustomView(getApplicationContext());
new Task().execute(mTextureView.getBitmap());
这是asynctask
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);
}
}