我使用cwac-camera库使用自定义应用内相机拍照。
我在SimpleCameraHost中覆盖adjustPreviewParameters并设置了JPEG质量。
@Override
public Parameters adjustPreviewParameters(Parameters parameters) {
super.adjustPreviewParameters(parameters);
parameters.setJpegQuality(80);
return (parameters);
}
不幸的是,根据this question,setJpegQuality方法不适用于某些设备(例如S3)。
我可以看到cwac-camera ImageCleanupTask always saves the manipulated image at 100% JPEG quality。
自定义ImageCleanupTask的最佳方法是什么?
我应该在PictureTransaction中公开setJpegQuality方法吗?或者我们想要一个更通用的解决方案(比如允许注入ImageCleanupTask)?
答案 0 :(得分:1)
我可以看到cwac-camera ImageCleanupTask总是以100%JPEG质量保存操作图像。
理想情况下,这是可配置的。图书馆理想情况下会有很多东西。 : - )
自定义ImageCleanupTask的最佳方法是什么?
如果你的意思是"如何在那里获得JPEG百分比?",增强PictureTransaction
。
我应该在PictureTransaction中公开setJpegQuality方法吗?
我会jpegQuality()
,因为PictureTransaction
使用构建器/流畅的API模式。
请注意,通过此更改,您可能希望从现有代码中删除parameters.setJpegQuality(80);
。否则,图像将降级两次,一次是捕获(对于支持它的设备),一次是将图像写入磁盘,这可能不是你想要的。