я работаю над приложением, которое захватывает изображение с камеры, показывает быстрый предварительный просмотр и отправляет его на сервер.Теперь проблема в том, что мне удается запустить камеру и сделать снимок, но само изображение не сохраняется правильно (это выглядит как повторение того же изображения в меньшем масштабе).Это сделано для устройства ZT180 на Android 2.2.Я хочу сказать, что то же приложение прекрасно работает на Android 4.0.
это обратный вызов для отображения предварительного просмотра камеры:
SurfaceHolder.Callback callback = new Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
camera.stopPreview();
camera.release();
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
camera.lock();
try {
camera.setPreviewDisplay(previewHolder);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
Parameters params = camera.getParameters();
params.setPreviewFormat(PixelFormat.RGB_565);
camera.setParameters(params);
camera.startPreview();
}
};
И это код для съемки (декодированиев растровое изображение и первоначально отображается в диалоговом окне):
BitmapFactory.Options opts = new BitmapFactory.Options();
bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
ImageView imageView = new ImageView(activity);
imageView.setImageBitmap(bitmap);