Сохранение изображения с порханием становится размытым в iOS

#image #flutter #flutter-image #flutter-ios

#изображение #порхание #flutter-изображение #flutter-ios

Вопрос:

Я создал пример приложения, которое сохраняет контейнер в виде изображения с помощью flutter. Это отлично работает с устройством Android, и сохраненное изображение имеет хорошее качество. Однако, когда я проверяю это на iPhone (эмулятор и физическое устройство), сохраненное изображение не имеет хорошего качества.

Ниже приведен код, который я использовал для сохранения контейнера в виде изображения, и я просто передаю глобальный ключ моего контейнера, который необходимо сохранить.

 import 'dart:math';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'dart:ui' as ui;
import 'dart:io' as Io;
import 'package:path_provider/path_provider.dart';
import 'package:gallery_saver/gallery_saver.dart';

class ImageExport {
  save(GlobalKey globalKey) async {
    Random random = new Random();
    int randomNumber = random.nextInt(1000);
    RenderRepaintBoundary boundary =
        globalKey.currentContext.findRenderObject();
    ui.Image image = await boundary.toImage(pixelRatio: 5.0);
    final directory = (await getApplicationDocumentsDirectory()).path;
    ByteData byteData = await image.toByteData(format: ui.ImageByteFormat.png);
    Uint8List pngBytes = byteData.buffer.asUint8List();
    Io.File imgFile = new Io.File('$directory/test$randomNumber.jpg');
    imgFile.writeAsBytes(pngBytes);
    imgFile.writeAsBytesSync(pngBytes);
    GallerySaver.saveImage(imgFile.path, albumName: "test");
  }
}
  

Не могли бы вы помочь мне решить эту проблему?

Комментарии:

1. Вам удалось решить эту проблему? Пожалуйста, напишите решение, если вы это сделали. Спасибо.

2. Привет, @mik Я не смог найти лучшего решения. Однако качество сохранения хорошее, когда изображение сохраняется в формате PNG.