PictureBinaryConverterSnippet
このクラスはRepaintBoundaryウィジェットクラスをStringに変換したり、Stringをbase64の形に変形することができるウィジェットである。
これは主にRealmに保存するためのクラスである。
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'dart:convert';
import 'dart:typed_data';
import 'dart:ui' as ui;
class PictureBinaryConverter{
Future<String> convertBoundaryToImageBase64(RenderRepaintBoundary boundary) async {
ui.Image image = await boundary.toImage();
ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
Uint8List imageData = byteData!.buffer.asUint8List();
String imageDataBinary = base64Encode(imageData);
return imageDataBinary;
}
ImageProvider convertBase64ToImage(String base64) {
Uint8List bytes = base64Decode(base64.split(',').last);
ImageProvider imageProvider = Image.memory(bytes).image;
return imageProvider;
}
}