У меня следующая проблема: у меня есть приложение, в котором я использую камеру устройства Android.
Я построил свою собственную камеру. BIG problem
заключается в том, что при запуске предварительного просмотра все изображение выглядит измененным. Каждый объект выглядит длиннее, больше ...
в surfaceChanged()
метод я сделал это:
List<Size> previews = p.getSupportedPreviewSizes();
Я зациклил это list
previews
, но я не нашел лучшего размера для предварительного просмотра.
list
previews
имеет размер, равный 7, но ни один из этих элементов не позволяет моему изображению выглядеть лучше !!
Вот как выглядит мой метод:
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Log.e(TAG, "surfaceChanged");
if (mPreviewRunning) {
mCamera.stopPreview();
}
Camera.Parameters p = mCamera.getParameters();
List<Size> sizes = p.getSupportedPictureSizes();
List<Size> previews = p.getSupportedPreviewSizes();
Size preview = previews.get(3);
// the size of preview is 7 and looped each item....
p.setPreviewSize(preview.width,preview.height);
int f=p.getJpegQuality();
Size size = sizes.get(3);
p.setJpegQuality(f);
p.setPictureSize(size.width,size.height);
mCamera.setParameters(p);
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mCamera.startPreview();
mPreviewRunning = true;
}
Кто-нибудь есть идеи?