Android 拍摄分辨率更高的照片

Android 拍摄分辨率更高的照片,android,camera,Android,Camera,我正在制作一个用于拍照的应用程序,但我不想使用startActivityForResult 我正在使用SurfaceView和PictureCallback() 但问题是,照片总是带有320x240px 代码如下: PictureCallback myPictureCallback_JPG = new PictureCallback(){ public void onPictureTaken(byte[] arg0, Camera arg1) { Uri u

我正在制作一个用于拍照的应用程序,但我不想使用
startActivityForResult

我正在使用
SurfaceView
PictureCallback()

但问题是,照片总是带有
320x240px

代码如下:

PictureCallback myPictureCallback_JPG = new PictureCallback(){

    public void onPictureTaken(byte[] arg0, Camera arg1) {       

      Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues());

      OutputStream imageFileOS;

      try {

       imageFileOS = getContentResolver().openOutputStream(uriTarget);
       imageFileOS.write(arg0);
       imageFileOS.flush();
       imageFileOS.close();

       Toast.makeText(MainActivity.this,"Image saved: " + uriTarget.toString(),Toast.LENGTH_LONG).show();

      } catch (FileNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

      camera.startPreview();
     }
};
如何“对摄影机说”以获得最佳分辨率


不管怎样,thakyou(:

在onPictureTaken回调方法上,图片已经被拍摄了,所以没有什么可做的

在实例化Camera对象后,通过setParameters方法设置参数。请查看该类。我认为该方法可能会引起您的兴趣

基本上,我认为应该是这样的:

Camera camera= Camera.open();
camera.getParameters().setJpegQuality(100); // being 100 the max quality and 0 the min

在onPictureTaken回调方法中,图片已经被拍摄,因此无需执行任何操作

在实例化Camera对象后,通过setParameters方法设置参数。请查看该类。我认为该方法可能会引起您的兴趣

基本上,我认为应该是这样的:

Camera camera= Camera.open();
camera.getParameters().setJpegQuality(100); // being 100 the max quality and 0 the min

JpeqQuality是关于压缩的,但摄影机参数似乎是正确的指针

您可以从相机获取当前参数

Camera.Parameters parameters = camera.getParameters();
然后强制预览/图片的大小

parameters.setPreviewSize(previewWidth, previewHeight);
parameters.setPictureSize(newWidth, newHeight);
// push it back to camera
camera.setParameters(parameters);
注意:不要忘记检查手机上的摄像头是否支持该尺寸,因为它是特定于设备的


()

JpeqQuality是关于压缩的,但相机参数似乎是正确的指针

您可以从相机获取当前参数

Camera.Parameters parameters = camera.getParameters();
然后强制预览/图片的大小

parameters.setPreviewSize(previewWidth, previewHeight);
parameters.setPictureSize(newWidth, newHeight);
// push it back to camera
camera.setParameters(parameters);
注意:不要忘记检查手机上的摄像头是否支持该尺寸,因为它是特定于设备的


()

这也很有用,我在用!谢谢!这也很有用,我在用!谢谢!