Android Image Capture 在里程碑上节省小尺寸

标签 android image photo milestone

我编写了一个简单的应用程序,它可以打开相机并提供用于保存任何捕获的图像的路径。

代码基本上是这样的:

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 的分辨率保存。但是,在 Milestone 上进行测试时,图像以更小的尺寸保存,例如 320x240 和 1280 x 1900。使用 adb logcat,我可以看到图像尺寸是在拍摄照片后立即设置的。

似乎在 Milestone 上有一个默认设置导致了这种行为。

如有任何帮助,我们将不胜感激。

谢谢, ~杰里米

最佳答案

每部手机都有自己的制造商编写的相机应用程序。每个相机应用程序都会决定调整大小和/或压缩拍摄的任何图像的程度。如果您在更多手机上进行测试,您可能会发现您获得了各种不同的图像尺寸和质量。只要您使用 Intent,就取决于用户选择处理该 Intent 的任何 Activity(无论如何它总是不同于默认的相机应用程序)来决定如何处理它。

如果您想强制执行特定的图像尺寸或质量,您需要编写自己的相机 Activity 。请记住,不同的手机将具有不同的硬件,无论如何都会以各种不同的分辨率拍摄图像。您应该能够获得比 320x240 更好的分辨率,但您将无法在所有手机上获得一致的尺寸,因为硬件不同。

关于Android Image Capture 在里程碑上节省小尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3190006/

相关文章:

iphone - 使用 ALAssetsLibrary 访问单个图像

android - 如何在 Android Studio 中跟踪打开的文件?

android - (android) 当屏幕宽度已满时,如何将继续的图像放在下一行?

java - android - java表单验证

css - 在css中制作背景图像贴图

unity-game-engine - 我可以使用设备的相机在 Unity 中拍照吗?

java - 有没有什么方法可以调用清理函数来清理 native 代码,同时在 Android 中保留任何 Activity ?

javascript - HTML:在 div 中设置图像的最大宽度

java - 如何在不降低质量的情况下在 Java 中放大图像?

xcode - 如何使用 Three20 创建从网站目录提供数据的动态 TTThumbsViewController?