【问题标题】:How much size of file can be pass by Intent in Android?Android中的Intent可以传递多少文件?
【发布时间】:2015-07-17 06:56:51
【问题描述】:

我对@9​​87654323@ 中的intent 有疑问。我使用intent将相机(设备的相机)制作的图像传输到bitmap,然后我显示它。但它太小了。我的相机是8mpx。 那么为什么以及如何解决呢?

【问题讨论】:

  • 传递路径,而不是二值图像
  • Android camera intent 的可能重复项
  • 您必须使用文件系统来存储原始数据。保存您的位图并传递路径。
  • 也就是说,我需要在显示之前将图像保存在设备中?

标签: android image android-intent camera size


【解决方案1】:

您能否更具体一点,照片是直接从相机拍摄的还是从图库中选择的? 很可能 imageView 本身的大小很小。一张照片无论多小都可以放大到适合大的 imageView 但它会像素化。

如果您有它的 URI,您可以尝试使用此代码将数据从 Intent 转换为 uri,然后将其转换为位图,然后分配给您的 imageView

Uri imageUri = intent.getData();
Bitmap bitmap =     MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri);
Imageview imgview1 = (Imageview ) findViewById (R.id.imgview1);
imgeview1.setImageBitmap(bitmap);

您可以使用上面的代码将从相机接收到的 URI 转换为位图并将其分配给 imageView。 如果图像看起来仍然很小,请检查 imageView 的大小。

【讨论】:

  • 对不起,但我不知道如何使用您的代码:D 我已将图像与其他代码一起保存到 sdcard。你可以告诉我更多细节:)
  • 您可以使用此处的代码访问您当前存储的图像,请查看stackoverflow.com/questions/25821239/…
【解决方案2】:
private static final int TAKE_PICTURE = 1;    
private Uri imageUri;

public void takePhoto(View view) {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File photo = new File(Environment.getExternalStorageDirectory(),  "Pic.jpg");
    intent.putExtra(MediaStore.EXTRA_OUTPUT,
            Uri.fromFile(photo));
    imageUri = Uri.fromFile(photo);
    startActivityForResult(intent, TAKE_PICTURE);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case TAKE_PICTURE:
        if (resultCode == Activity.RESULT_OK) {
            Uri selectedImage = imageUri;
            getContentResolver().notifyChange(selectedImage, null);
            ImageView imageView = (ImageView) findViewById(R.id.ImageView);
            ContentResolver cr = getContentResolver();
            Bitmap bitmap;
            try {
                 bitmap = android.provider.MediaStore.Images.Media
                 .getBitmap(cr, selectedImage);

                imageView.setImageBitmap(bitmap);
                Toast.makeText(this, selectedImage.toString(),
                        Toast.LENGTH_LONG).show();
            } catch (Exception e) {
                Toast.makeText(this, "Failed to load", Toast.LENGTH_SHORT)
                        .show();
                Log.e("Camera", e.toString());
            }
        }
    }
}

请按照以下链接http://developer.android.com/guide/topics/media/camera.html的说明进行操作

【讨论】:

    猜你喜欢
    • 2018-07-14
    • 2021-11-09
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多