Android应用程序:如何使用相机并抓取图像字节?

vin*_*nux 2 java mobile android titanium

我正在尝试为Android创建一个小应用程序,使用设备的相机拍摄照片并在其上放置一个PNG帧.这样最终保存的图片就会有一个海滩,或帽子,或任何东西.有没有人有这种行为的示例程序?

小智 5

此处查看有关使用图像捕获意图的SDK文档.

我像这样开始我的图像捕获意图:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)

CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE是我活动中的私人会员:

private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
Run Code Online (Sandbox Code Playgroud)

然后使用以下onActivityResult处理程序从相机中获取字节数组:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {        
    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
        if (resultCode == Activity.RESULT_OK) {
            Bitmap bmp = (Bitmap) data.getExtras().get("data");
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
            byte[] byteArray = stream.toByteArray();

            AddImage(byteArray);

        } else if (resultCode == Activity.RESULT_CANCELED) {
            // User cancelled the image capture
        } else {
            // Image capture failed, advise user
        }
    }               
}
Run Code Online (Sandbox Code Playgroud)

之后,您可以在图像上执行所需的所有处理.