Подтвердить что ты не робот

Android Camera setJpegКачество игнорируется

Похоже, что метод setJpegQuality для Camera.Parameters игнорируется, по крайней мере, на устройствах, с которыми я это пробовал (Nexus S, Galaxy S2).

Это работает для кого-то еще, или это известная проблема, или я делаю что-то не так, или...?

Код для настройки параметров ниже. Качество jpeg 1 очень своеобразно, поэтому очень легко определить визуально, работает ли оно... и это не так! Другие параметры, установленные здесь (например, сепия), работают.

    camera = Camera.open();
    final Camera.Parameters parameters = camera.getParameters();
    parameters.setJpegQuality(1);
    parameters.setPictureFormat(ImageFormat.JPEG);
    // Let set a SEPIA effect, just to verify these parameters are working at all!
    parameters.setColorEffect(Camera.Parameters.EFFECT_SEPIA);
    // I've seen this syntax too on the internet, presumably it legacy.
    parameters.set("jpeg-quality", 1);
    camera.setParameters(parameters);
4b9b3361

Ответ 1

Задайте все атрибуты изображения:

parameters.setPreviewSize(854, 480);  // (h, w)
   parameters.setPictureFormat(ImageFormat.JPEG);
   parameters.set("jpeg-quality", 100);
   parameters.set("orientation", "landscape");
   parameters.set("rotation", 90);
   mCamera.setParameters(parameters);
   mCamera.startPreview();