gpt4 book ai didi

android - 小尺寸图片问题

转载 作者:行者123 更新时间:2023-11-29 22:34:31 25 4
gpt4 key购买 nike

我在使用 ACTION_IMAGE_CAPTURE 捕获图片后以全​​尺寸保存图片时遇到问题,因为图片变得非常小,分辨率为 27X44 我正在使用 1.5 android 模拟器,这是代码,我将不胜感激帮助:

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);
}
}
}

最佳答案

看看你在做什么:

  • 你用 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File (Environment.getExternalStorageDirectory(), "testExtra"+ String.valueOf (System.currentTimeMillis ()) + ".jpg")));
  • 当您访问图片时,您使用 Bitmap mPicture = (Bitmap) data.getExtras().get("data");
  • 将数据“拖”出 Intent

显然,您不能从文件中访问图片。据我所知, Intent 不是为了携带大量数据而设计的,因为它们在例如之间传递。 Activity 。您应该做的是从相机 Intent 创建的文件中打开图片。看起来像这样:

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 上(仍然)工作正常。
看看MediaStore.ACTION_IMAGE_CAPTURE .

希望这对您有所帮助。
此致,
史蒂夫

关于android - 小尺寸图片问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2410678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com