#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.