【问题标题】:How to convert Image Data type from imageUrl如何从 imageUrl 转换图像数据类型
【发布时间】:2022-10-26 03:21:19
【问题描述】:

我需要将此水印(来自资产)图像和 imageurl(从 API 获取)转换为 Image 数据类型,因为 ui.drawImage 仅采用 Image 数据类型

 ui.Image? watermarkImage = ui.decodeImage('assets/images/watermark.png');// getting error
    ui.Image? lookbookImage = ui.decodeImage(imageurl); // getting error
    final originalImage = imgData;
    ui.Image image = ui.Image(160, 50);
    ui.drawImage(image, watermarkImage);

【问题讨论】:

    标签: flutter


    【解决方案1】:

    首先,您需要获取图像字节

    // network
    final response = await http.Client().get(Uri.parse(imageurl));
    final bytes = response.bodyBytes;
    
    //assets
    final byteData = await rootBundle.load('assets/images/watermark.png');
    final bytes = byteData.buffer.asUint8List();
    

    然后你可以从图像字节解码ui.Image

    
    final image = await decodeImageFromList(bytes);
    
    

    【讨论】:

    • 首先感谢您回答@Mohammed 我在下载图片时出错flutter FileSystemException: Cannot open file, path = 'assets/images/watermark.png' (OS Error: No such file or directory, errno = 2)
    • 找不到文件可能有两个原因,1- 文件不在指定目录中,2- 文件未作为资产添加到 pubspec.yaml
    • 在我添加的资产中:- flutter assets: - assets/images/ –
    猜你喜欢
    • 2013-12-12
    • 2021-01-22
    • 2018-01-10
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 2020-04-17
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多