Камера CWAC. Как лучше всего настроить ImageCleanupTask?

Я использую библиотеку cwac-camera, чтобы делать фотографии с помощью встроенной в приложение камеры.

Я переопределяю AdjustPreviewParameters в SimpleCameraHost и устанавливаю качество JPEG.

@Override
public Parameters adjustPreviewParameters(Parameters parameters) {
    super.adjustPreviewParameters(parameters);
    parameters.setJpegQuality(80);
    return (parameters);
}

К сожалению, согласно этому вопросу, метод setJpegQuality не работает на некоторых устройствах (например, S3).

Я вижу, что камера cwac ImageCleanupTask всегда сохраняет обработанное изображение со 100% качеством JPEG.

Как лучше всего настроить ImageCleanupTask?

Должен ли я предоставлять метод setJpegQuality в PictureTransaction? Или нам нужно более универсальное решение (например, разрешить внедрение ImageCleanupTask)?


person Dan J    schedule 11.10.2014    source источник


Ответы (1)


Я вижу, что ImageCleanupTask cwac-камеры всегда сохраняет обработанное изображение со 100% качеством JPEG.

В идеале это можно настроить. Есть много вещей, которые в идеале должна делать библиотека. :-)

Как лучше всего настроить ImageCleanupTask?

Если вы имеете в виду «как можно получить процент JPEG?», увеличьте PictureTransaction.

Должен ли я предоставлять метод setJpegQuality в PictureTransaction?

Я бы сделал jpegQuality(), так как PictureTransaction использует шаблон Builder/Fluent API.

Обратите внимание, что с этим изменением вы захотите удалить parameters.setJpegQuality(80); из существующего кода. В противном случае образ будет испорчен дважды: один раз при захвате (для устройств, которые его поддерживают) и один раз при записи образа на диск, а это, вероятно, не то, что вам нужно.

person CommonsWare    schedule 11.10.2014
comment
Спасибо за помощь. Вот изменение кода, которое я внес для поддержки этого в своем форке: -camera/commit/ Дайте мне знать, если вы хотите, чтобы я добавил проблему в ваш репозиторий. Я также могу отправить запрос на вытягивание, хотя, возможно, я слишком сильно изменил поле jpegQuality, чтобы вы захотели его. :-) - person Dan J; 13.10.2014
comment
@DanJ: Я пошел дальше и подал против себя запрос на улучшение. Ваша реализация кажется отличной от манжеты. Спасибо! - person CommonsWare; 13.10.2014