Камера 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)?

1 ответ

Решение

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

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

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

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

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

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

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

Другие вопросы по тегам