我正在尝试用flutter生成下面的UI。这个想法是在一个图像的顶部覆盖像素,可以通过刮擦来移除并显示隐藏的图像。这些像素在下面的图像中是红色/蓝色/紫色,并且在示例中覆盖了蝴蝶的图像。
我偶然发现了这个package,它允许划痕功能。然而,划痕区域似乎覆盖了整个图像,并且不能着色。之前我试图手动操作,通过在图像顶部绘制这些彩色方块,当单击时图像会消失。这听起来很简单,但不容易在flutter中实现。
此外,我生成了一个随机数矩阵,我将使用它来着色像素。当试图在Stack
中循环矩阵时,它给了我一个错误消息:The element type 'Set<Set<Text>>' can't be assigned to the list type 'Widget'.
此处提供详细信息。
Widget paintPixels() {
return Container(
child: Stack(children: <Widget>[
Image(
width: 350,
height: 300,
image: AssetImage('lib/assets/images/orange_butterfly_image.png'),
),
Column(
children: <Widget>[
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 9; j++) {Text("Hello" + i)}
}
],
)
]));
对如何处理这个问题有什么建议吗?
1条答案
按热度按时间6uxekuva1#
我能够使用嵌套循环来绘制图像顶部的像素框。没有必要使用scratcher。代码解决方案如下所示: