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);
注意:不要忘记检查手机上的摄像头是否支持该尺寸,因为它是特定于设备的
()这也很有用,我在用!谢谢!这也很有用,我在用!谢谢!