首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >小尺寸图象问题

小尺寸图象问题
EN

Stack Overflow用户
提问于 2010-03-09 16:35:53
回答 1查看 4K关注 0票数 1

在使用ACTION_IMAGE_CAPTURE获取图片后,我在保存全尺寸图片时遇到了问题--图片变得非常小,其分辨率为27X44 --我使用1.5Android模拟器,这是代码,我将感谢您的任何帮助:

代码语言:javascript
复制
myImageButton02.setOnClickListener
(
    new OnClickListener() 
    {
        @Override
        public void onClick(View v)
        {
            // create camera intent
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            //Grant permission to the camera activity to write the photo.
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            //saving if there is EXTRA_OUTPUT
            intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File
            (Environment.getExternalStorageDirectory(), "testExtra" + String.valueOf
            (System.currentTimeMillis()) + ".jpg")));
            // start the camera intent and return the image
            startActivityForResult(intent,1); 
        } 
    }
);
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);

    // if Activity was canceled, display a Toast message
    if (resultCode == RESULT_CANCELED) 
    {
        Toast toast = Toast.makeText(this,"camera cancelled", 10000);
        toast.show();
        return;
    }

    // lets check if we are really dealing with a picture
    if (requestCode == 1 && resultCode == RESULT_OK)
    {
        String timestamp = Long.toString(System.currentTimeMillis());
        // get the picture
        Bitmap mPicture = (Bitmap) data.getExtras().get("data");
        // save image to gallery
        MediaStore.Images.Media.insertImage(getContentResolver(), mPicture, timestamp, timestamp);
    }
}
}
EN

回答 1

Stack Overflow用户

发布于 2010-05-07 08:37:41

看看你在做什么:

  • 您可以指定一个路径,将您刚刚拍摄的照片存储在intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File (Environment.getExternalStorageDirectory(), "testExtra" + String.valueOf (System.currentTimeMillis()) + ".jpg")));中。
  • 当您访问图片时,可以使用Bitmap mPicture = (Bitmap) data.getExtras().get("data");“拖动”数据。

显然,您不能从它的文件中访问图片。据我所知,意图并不是用来携带大量数据的,因为它们是在活动之间传递的。您应该做的是从相机意图创建的文件打开图片。看起来是这样:

代码语言:javascript
复制
BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();  
// Limit the filesize since 5MP pictures will kill you RAM  
bitmapOptions.inSampleSize = 6;  
imgBitmap = BitmapFactory.decodeFile(pathToPicture, bitmapOptions);

这应该能起作用。它过去对我来说是这样的,但是我在几个设备上从2.1开始就遇到了问题。对Nexus One仍然有效。

看看俘获

希望这能有所帮助。

致以敬意,

斯特夫

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2410678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档