实现Camera2 Api
用于点击图片后,我正在此侦听器中获取图片
private ImageReader.OnImageAvailableListener imageAvailableListener = new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
Image img = reader.acquireLatestImage();
final Image.Plane[] planes = img.getPlanes();
final ByteBuffer buffer = planes[0].getBuffer();
byte[] byteArray = new byte[buffer.remaining()];
buffer.get(byteArray);
bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
uri = getImageUri(getContext(), bmp);
}
};
我试图将Image
解析为Bitmap
,以便使用此方法获取图像uri
private Uri getImageUri(Context context, Bitmap inImage) {
this.saveToInternalStorage(inImage);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(context.getContentResolver(), inImage, "CAPTURE" + captureCount, null);
return Uri.parse(path);
}
但是当我尝试使用它从ImageView
中显示图像时,通过上述方法获得的图像uri并没有显示任何东西,但是我可以在图库中看到单击的图像。
我获得的图像uri像external/**/<some number>
我想做的是要获取点击图片的uri并使用 该uri对其进行编辑。
如果还有其他方法可以编辑图像,例如使用位图或其他形式。