Android中的Intent可以传递多少文件大小?

时间:2015-07-17 06:56:51

标签: android image android-intent camera size

我在intent中遇到android的问题。我使用intent传输图像由相机(设备相机)制作成bitmap,然后我显示它。但它太小了。我的相机是8mpx。 那么为什么以及如何解决它?

2 个答案:

答案 0 :(得分:0)

你可以更具体一点,照片是直接从相机拍摄还是从画廊中选择? 最有可能的是imageView本身的大小很小。一张照片无论多小都可以放大以适应大型图像,但它会像素化。

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

[Authorize]
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create(FAQ faq, List<int> printertypes)
    {
        PopulatePrintertypeDropDownList();
        foreach (int i in printertypes)
        {
            faq.printertype.Add(db.printertypeSatz.Find(i));
        }

        if (ModelState.IsValid)
        {
            db.FAQSatz.Add(faq);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(faq);
    }

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

答案 1 :(得分:0)

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

的说明操作
相关问题