首页 文章

如何使用颤动绘制自定义形状的小部件

提问于
浏览
0

我想在颤动中绘制下面的形状:

正如你所看到的,它开始时带有一个带有直边的椭圆形,然后弯曲以使其变窄 . 然后它进入一个矩形 . 在它内部,它的线条开始变薄并逐渐变厚 . 第一行是弯曲的,以匹配形状的半径,然后它们变成矩形 .

如何在颤动中画出这个?在这个形状的较薄部分之下 .

Edit: 对不起,忘了说我希望能够控制红色形状的颜色 . 黑色形状将是永久性的,并且根据状态,红色形状将是不同的颜色 .

1 回答

  • 1

    这看起来像是在SVG中最容易完成的东西,使用某种工具 - 我个人使用Inkscape虽然它在svg文件中创建了大量垃圾(我使用SVGOMG删除了它) . 在Inkscape中必须要小心,以确保它不会创建不必要的分组或使用变换而不是直接设置坐标 . 但是,您应该能够使用flutter svg plugin在您的应用中呈现它 .

    但是,如果你想要与你的对象一起做任何类型的动画,它会变得更加复杂 . 然后有两个选项 - 第一个是将SVG路径费力地转换为画布绘制操作(有一些工具用于Javascript Canvas对象,它们足够接近可以粘贴路径的颤动路径,然后运行快速搜索/替换以获得你需要的颤振) . 我已经完成了我的应用程序中使用的一些图标,我需要在svg插件制作之前 . 但是,如果你这样做,那么你可以完全控制你如何绘制它 - 你可以使用渐变,颜色等你想要的 .

    您也可以直接使用画布绘制它,而不必先使用SVG . 看看CustomPainterCustomPaint . 热重载会对你有所帮助,但它之前使用过Beziers等 .

    然而,这将是一个过程,可能不值得,因为那里有一个更容易的解决方案 . 看看newly re-announced Flare - 主要的缺点是,除非你想支付你的艺术品将公开(但你可以阻止人们分叉) . 虽然我还没有广泛使用它,但它确实似乎是为这类事情量身定制的 .

相关问题