我在應用程序中有自定義相機,在大多數設備上拍攝的圖像看起來不錯,但在銀河連線上,故事是不同的。 Galaxy聯繫中的圖像模糊。我在摩托羅拉Atrix上也看到了粗糙的線條。但是Droid X,Droid Razr,HTC Evo,HTC令人難以置信都顯示出不錯的效果。任何想法爲什麼它會發生?這是我迄今爲止所擁有的。 P.S .:我在活動中使用自動對焦。自定義相機的圖像在Galaxy Nexus上模糊
public class CameraPreview extends SurfaceView implements
SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;
public CameraPreview(Context context, Camera camera) {
super(context);
mCamera = camera;
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// The Surface has been created, now tell the camera where to draw the
// preview.
try {
mCamera.setPreviewDisplay(holder);
Camera.Parameters parameters = mCamera.getParameters();
List<String> focusModes = parameters.getSupportedFocusModes();
if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) {
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
}
parameters.set("orientation", "portrait");
mCamera.setDisplayOrientation(90);
mCamera.setParameters(parameters);
mCamera.startPreview();
} catch (IOException e) {
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
if (mHolder.getSurface() == null) {
// preview surface does not exist
return;
}
// stop preview before making changes
try {
mCamera.stopPreview();
} catch (Exception e) {
// ignore: tried to stop a non-existent preview
}
try {
mCamera.startPreview();
} catch (Exception e) {
}
}
愚蠢的問題,但你是否包括清單中的 ? –
Codeman
2012-08-13 23:55:53
是的。我確實將它添加到清單文件中。 – user484691 2012-08-13 23:56:44
可能重複? http://stackoverflow.com/questions/8838441/captured-camera-image-is-looking-blurry你嘗試改變camera.setJpegQuality()? – Codeman 2012-08-13 23:57:21