image - 在 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 创建的画布不同,从头创建的画布没有设置设备像素比。
我确实尝试按照上述链接的建议使用设备像素比设置画布比例。但是,设置比例后图像会消失。如何设置画布以使用设备像素比?
解决方案
推荐阅读
- javascript - 找不到数据时隐藏和显示报告区域
- javascript - 溢出:隐藏绝对定位元素
- sql - 正常形式:4 对 5
- r - 在 R 中的 data.tree 包中查找叶节点的直接层次父级
- c# - ASP .NET 核心 mvc 和 Microsoft Graph API
- amd-processor - 适用于 x86_64 的 Android 7.1 启动到 cmd 行但未在 AMD PC 上显示 GUI
- r - 如何增加 ggplot2 geom_freqpoly 中的线条大小?
- angular - 通过 Angular FromControl 值设置选择输入值
- java - 如何根据某些值字段在运行时创建 Kafka 主题名称
- ruby-on-rails - (:thumb) 在 Rails 它不加载照片