Java 拍摄照片并保存到SD而不损失质量
我有一个应用程序,可以拍摄一张照片并将其存储到SD卡上,但是我拍摄的每一张照片都被极度压缩,质量非常低。我用全质量压缩它,所以我不确定它为什么这样做。有什么建议吗?代码如下:Java 拍摄照片并保存到SD而不损失质量,java,android,camera,compression,photo,Java,Android,Camera,Compression,Photo,我有一个应用程序,可以拍摄一张照片并将其存储到SD卡上,但是我拍摄的每一张照片都被极度压缩,质量非常低。我用全质量压缩它,所以我不确定它为什么这样做。有什么建议吗?代码如下: protected void takePhoto() { Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0); } @Overrid
protected void takePhoto()
{
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
currPhoto = (ImageView) findViewById(R.id.imageView1);
if (requestCode== 0 && resultCode == Activity.RESULT_OK){
Bitmap x = (Bitmap) data.getExtras().get("data");
currPhoto.setImageBitmap(x);
ContentValues values = new ContentValues();
values.put(Images.Media.MIME_TYPE, "image/jpeg");
Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
OutputStream outstream;
try {
outstream = getContentResolver().openOutputStream(uri);
x.compress(Bitmap.CompressFormat.JPEG, 90, outstream);
outstream.close();
} catch (FileNotFoundException e) {
//
}catch (IOException e){
//
}
}
}
编辑:事实上,它似乎只保存缩略图到SD
来自:
公共静态最终字符串ACTION\u IMAGE\u CAPTURE
添加到API 3级标准意图行动中,可发送至
相机应用程序捕获图像并返回
调用者可以传递一个额外的extra_输出
,以控制此图像的位置
我会写的。如果不存在额外的\u输出
,则会出现一个小错误
大小图像作为位图对象返回到额外字段中。这是
适用于只需要小图像的应用程序如果
存在额外的\u输出
,则会将全尺寸图像写入
EXTRA\u输出的Uri值
从:
公共静态最终字符串ACTION\u IMAGE\u CAPTURE
添加到API 3级标准意图行动中,可发送至
相机应用程序捕获图像并返回
调用者可以传递一个额外的extra_输出
,以控制此图像的位置
我会写的。如果不存在额外的\u输出
,则会出现一个小错误
大小图像作为位图对象返回到额外字段中。这是
适用于只需要小图像的应用程序如果
存在额外的\u输出
,则会将全尺寸图像写入
EXTRA\u输出的Uri值
太棒了,谢谢你,这让我明白了。对于其他有同样问题的人,我需要的代码就是。太棒了,谢谢你,这帮助我理解了它。对于其他有同样问题的人来说,我需要的代码。