问题标签 [flutter-canvas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - 有没有办法在 Flutter 中缓存 Canvas 的一部分以更快地绘制它?
我需要在屏幕上绘制大约 5000 个小点 - 它们几乎都是相同的(大约 6 种颜色变体) - 但它们的位置会改变,并且需要以 60 fps 的速度这样做(所以重新绘制整个东西当他们从 A 点移动到 B 点时顺利)。
我试着用 a 来做到这一点CustomPainter
,它做得很好(大约 20 fps),但是当我BoxShadow
在它们周围添加漂亮的东西(如发光())时,它开始滞后很多(5 fps)。
有没有办法以某种方式缓存这些图纸,然后将它们显示在不同的位置?还是有比 更快的东西CustomPainter
?
flutter - 如何在颤动中单击 3d 对象时添加事件
我想要一个包来显示一个带有按下对象事件的 3D 对象,当用户单击对象时它会应用一个函数。
我使用了 flutter_cube 包,但它没有事件
flutter - Flutter TextSpan GestureRecognizer 是否适用于 Custom Painter
我正在颤动的画布上绘制文本和其他对象。
我想检测鼠标何时悬停在画布上呈现的某些文本上。
TextSpan 类具有recognizer
以及onEnter
和的属性onExit
。
当在画布上绘制文本跨度时,它们似乎没有被调用。
我是否需要自己为 Canvas 上的文本编写命中测试逻辑?
flutter - 如何在画布上显示视频?
目标是在画布上显示视频,然后将画布捕获为位图。
我试图捕获小部件位图。为此,我使用了屏幕截图包,但平台小部件存在问题,因此我无法从video_player小部件获取位图(视频播放器基于平台)。
例如,我前面有一个文本小部件,后面有一个视频小部件,对于每一帧,我都需要一个位图。
提前致谢。
注意:作为一种解决方法,我正在考虑预先对所有帧进行预解码,然后显示图像序列而不是视频,但解码帧需要时间和大量内存,因此没有所需的选项。但我认为应该有比这更好的选择。
我也看到了一个类似的问题,但它似乎也RenderRepaintBoundary
用作screenshot
库剂量,所以我认为这个问题仍然存在
flutter - 使用 Path Flutter 绘画
我有图像中显示的地图自定义注释。
我怎样才能从底部对边缘进行修圆,与在顶部进行的操作相同。
我的代码
}
flutter - 如何在 Flutter Canvas 中绘制多个具有不同旋转的矩形?
我正在尝试在画布中添加多个矩形并使用用户平移操作旋转它们。但是到目前为止我为 Rect 找到的构造函数都是在没有旋转的情况下绘制它们。我找到了一种canvas.rotate()
可以旋转整个画布的方法。
如何做到这一点?任何在不使用用户平移操作的情况下处理 Rectangle 旋转的代码canvas.rotate()
都会有所帮助。
flutter - 在画布上绘制描边/带边框的文本
我正在尝试在画布上绘制描边文本。在我的编辑器中,我通过堆叠两个文本宽度创建了描边文本效果:
对于输出渲染,我只能绘制显示文本:
我怎样才能画笔画TextPainter
?
flutter - 如何在 Flutter 中创建褪色六边形
你好,我想创建和褪色的六边形,就像图像中一样,中间有一个褪色的紫色圆圈。我应该怎么办?
flutter - Flutter CustomPainter:尽管不应该重新绘制,但仍保留路径
我有一个CustomPainter
类似的例子。我并不总是需要重新绘制,但我需要保留之前绘制的路径,因为它用于hitTest
. 在构造函数中创建 也不是解决方案,path
因为在方法中获得的 Sizepaint
用于创建path
.
在这个例子中,progress
可以从 0.0 到 1.0,但是很多时候它保持在 1.0,在这种情况下,它不需要重新绘制,但是 hitTest 需要知道点击事件是否在里面的路径path
,在这种情况下,progress
始终为 1.0,shouldRepaint
那么只要不更改,它就会为 null,这会导致未正确检测到 hitTest false
。我不认为总是重绘是一个好主意,因为路径永远不会在1.0 时改变,但如果它是唯一的选择,我不会反对。path
progress
progress
- 编辑 -
主要问题是当 shouldRepait 为 false 时 path 为 null,这会在 hitTest 中产生错误。progress
是从 2 个不同的 Animation 对象中获得的,具体取决于在painter 之外处理的情况