正在进行一个抖动项目,该项目需要拍照并重新调整大小/裁剪图像到640/420(15:10),然后再上传到服务器,但是它们似乎失去了太多的质量并且像素化。
img.Image image = img.decodeImage(a2);
double width = (image.height / 10) * 15;
image = img.copyCrop(image, ((image.width - width) / 2).round(), 0, width.round(), image.height);
resized = img.encodeJpg(img.copyResize(image, width:640, interpolation: img.Interpolation.cubic));
当前使用camera进行720p(1280x720)拍摄,并使用image插件进行裁剪并使用平均插值调整大小。
我主要是想知道这是处理图像处理以保持最高质量的最佳方法,还是针对此用例是否有更好的方法。
答案 0 :(得分:0)
您应该尝试此方法,我一直在为自己使用以下方法,它的作用就像魅力一样,图像也不会损失任何质量,并且尺寸也压缩得太
mkdir -p /var/lib/docker/volumes/volume_name/_data/testdir
上述方法用于压缩图像,并用于从图库/相机捕获图像,我正在使用以下方法。
final _tempDir = await getTemporaryDirectory();
final _path = _tempDir.path;
im.Image imageFile = im.decodeImage(_file.readAsBytesSync());
mealID = Uuid().v4();
final compressedImageFile = File('$_path/img_$mealID.jpg')
..writeAsBytesSync(im.encodeJpg(imageFile, quality: 80));
setState(() {
_file = compressedImageFile;
});