我写了一个简单的应用程序,打开相机并提供保存任何捕获图像的路径。
代码基本上如下所示:
File file = new File( Environment.getExternalStorage() + "myimages/",
"my_image.jpg" );
Uri outputUri = Uri.fromFile( file );
Intent intent = new
Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
Intent.putExtra( MediaStore.EXTRA_OUTPUT, outputUri );
这完全适用于我的Droid。图像始终保存在2592x1936。但是,在里程碑上进行测试时,图像会以更小的尺寸保存,例如320x240和1280 x 1900.使用adb logcat,我可以看到拍摄照片后立即设置图像尺寸。
似乎Milestone上有默认设置导致此行为。
非常感谢任何帮助。
谢谢, 〜杰里米
答案 0 :(得分:1)
每部手机都有自己的制造商编写的相机应用程序。每个相机应用程序决定调整和/或压缩所拍摄图像的程度。如果您在更多手机上进行测试,您可能会发现您获得了各种不同的图像尺寸和质量。只要您使用意图,就可以决定用户选择处理该意图的任何活动(无论如何总是与默认的相机应用程序不同)来决定如何处理它。
如果要强制执行特定的图像尺寸或质量,则需要编写自己的相机活动。请记住,不同的手机将拥有不同的硬件,无论如何都能以各种不同的分辨率拍摄图像。您应该能够比320x240更好,但是由于硬件不同,您将无法在所有手机上获得一致的尺寸。