我期待将SVG从资产转换为PNG,并将其写入文件。
我已经设法将SVG写入文件,但我想将图像作为PNG写入文件
将SVG写入文件的代码:
final bytes = await rootBundle.load('assets/images/example.svg');
final String tempPath = (await getTemporaryDirectory()).path;
final File file = File('$tempPath/profile.svg');
await file.writeAsBytes(
bytes.buffer.asUint8List(bytes.offsetInBytes, bytes.lengthInBytes));
return file;
}
3条答案
按热度按时间zte4gxcn1#
我在another answer上找到了解决问题的方法。
您需要添加
flutter_svg
作为项目的依赖项。这几乎是引用答案中给出的代码的副本:
laawzig22#
@pierre-hubert的回答很好。但是我必须做一些改变才能让它工作。
然后可以使用
Image.memory()
小部件呈现结果gojuced73#
DrawableRoot在新版本的
flutter_svg
中不可用。新的方法是使用VectorGraphicUtilities:结果是一个位图图像,可以转换成任何其他支持的格式,例如png:
然后可以在设备上保存为Img:
所以所有的东西放在一起: