微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Flutter 中,如何将设备像素比与从头创建的画布相关联?

如何解决在 Flutter 中,如何将设备像素比与从头创建的画布相关联?

我正在使用以下代码片段从画布中记录和获取图像。图像在某些设备上显示模糊。

setLayerBuffer(int layerID) async {
 recorder = new ui.PictureRecorder();
 canvas2 = new Canvas(recorder,canvasRect); //canvasRect is the drawing area

 for (var myLayer in layers)
    if (myLayer.id == layerID) {
      if (myLayer.buffer != null) {
        canvas2.drawImage(myLayer.buffer,new Offset(0.0,0.0),Paint());
      }
      doPaint(canvas2,1); //this will draw on canvas2
      break;
    }

 var picture = recorder.endRecording();
 buffer = await picture.toImage(
    canvasRect!.width.round(),canvasRect!.height.round());
 setBuffer(layerID,buffer!);  // store image as buffer in layer
 paintController.myNotifyListeners(); //paint the main canvas wiht buffers of layers

}

根据此 https://github.com/flutter/flutter/issues/17782,与 CustomPaint 创建的画布不同,从头创建的画布并未设置设备像素比。

我确实尝试按照上述链接的建议使用设备像素比设置画布比例。但是,设置比例后图像消失。如何设置画布以使用设备像素比?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。