Ram*_*tha 6 camera android store bitmap
我正在使用android内置摄像头拍照,然后将相同的图片附加到电子邮件,当我在1.6设备中测试此功能时,我能够在内置摄像头中命名要拍摄的图片,但在2.1中,图片是有一个名字,即由设备给出,
如何在2.1内置摄像头图像中提供用户定义的名称..
为了避免这个问题,我手动保存图像,但是当我尝试通过意图将图像作为位图返回,然后使用压缩方法将其保存到SD卡
此方法处理内置摄像头的结果
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
File file = new File(Environment.getExternalStorageDirectory()
+ "/test.png");
switch (requestCode)
{
case PHOTO_ACTION:
if (resultCode == RESULT_CANCELED)
{
addPhoto = false;
Toast.makeText(this, "Canceled ", Toast.LENGTH_LONG).show();
break;
} else if (resultCode == RESULT_OK)
{
Bundle b = data.getExtras();
Bitmap bm = (Bitmap) b.get("data");
FileOutputStream out;
try
{
out = new FileOutputStream(file);
bm.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
scanPhoto(file.toString());
out = null;
addPhoto = true;
} catch (Exception e)
{
e.printStackTrace();
addPhoto = false;
}
Run Code Online (Sandbox Code Playgroud)
但是当我这样存储时,我得到了两张图片.一个系统名称和其他名称由我给出.但是用户定义的图像具有较低的分辨率,所以我的问题是如何在不压缩的情况下以更高的分辨率保存位图..请帮助....我
如果您只想保存位图而不会丢失质量,请尝试使用CompressFormat.PNG而不是JPEG,我以前见过有人遇到过这个问题.尝试改变:
bm.compress(Bitmap.CompressFormat.JPEG, 100, out);
Run Code Online (Sandbox Code Playgroud)
有:
bm.compress(Bitmap.CompressFormat.PNG, 100, out);
Run Code Online (Sandbox Code Playgroud)
并看到它有所帮助.
| 归档时间: |
|
| 查看次数: |
8751 次 |
| 最近记录: |