Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 颤振SVG渲染_Dart_Flutter - Fatal编程技术网

Dart 颤振SVG渲染

Dart 颤振SVG渲染,dart,flutter,Dart,Flutter,我尝试将一个带有SVG源的图像添加到我的Flatter应用程序中 newassetimage(“assets/images/candle.svg”) 但我没有得到任何视觉反馈。 如何在flatter中渲染SVG图片 颤振当前不支持SVG。跟踪更新 如果您确实需要矢量绘制,您可以将作为如何使用画布API绘制的示例,或者在本机端对图像进行光栅化,并将其作为位图传递给Flutter,但目前您最好的选择可能是嵌入高分辨率光栅化资产图像。目前的解决方法是使用字体 使用 static const Ic

我尝试将一个带有SVG源的图像添加到我的Flatter应用程序中

newassetimage(“assets/images/candle.svg”)

但我没有得到任何视觉反馈。
如何在flatter中渲染SVG图片

颤振当前不支持SVG。跟踪更新


如果您确实需要矢量绘制,您可以将作为如何使用
画布
API绘制的示例,或者在本机端对图像进行光栅化,并将其作为位图传递给Flutter,但目前您最好的选择可能是嵌入高分辨率光栅化资产图像。

目前的解决方法是使用字体

使用

  static const IconData TabBarHome= const IconData(0xe906, fontFamily: 'icomoon');
  static const IconData TabBarExplore= const IconData(0xe902, fontFamily: 'icomoon');

替换####eg(906)

字体在很多情况下都是很好的选择

我一直在开发一个在画布上渲染SVG的库,可在以下位置获得:

现在的API看起来像

new SvgPicture.asset('asset_name.svg')
呈现asset_name.svg(大小与其父级一致,例如
SizedBox
)。您还可以指定一种
颜色
混合模式
,用于为资产着色

现在,它可以在pub上使用,并且最低版本为0.3.6。它可以处理大量的案例,但不是所有的——有关更新和文件问题,请参阅GitHub repo


Colin Jackson提到的最初GitHub问题实际上并不打算主要关注Flatter中的SVG。为此,我在这里打开了另一个问题:

来自flatter社区的开发人员创建了一个lib来处理svg文件。我们可以把它当作

new SvgPicture.asset(
  'assets/images/candle.svg',
  height: 20.0,
  width: 20.0,
  allowDrawingOutsideViewBox: true,
),

我找到了一个SVG的小示例。

您可以使用flare创建动画,只需将.flr作为资源导入即可

import 'package:flare_flutter/flare_actor.dart';
class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return new FlareActor("assets/Filip.flr", alignment:Alignment.center, fit:BoxFit.contain, animation:"idle");
  }
}
import'包:flare_flatter/flare_actor.dart';
类MyHomePage扩展StatefulWidget{
@凌驾
_MyHomePageState createState()=>new_MyHomePageState();
}
类_MyHomePageState扩展状态{
@凌驾
小部件构建(构建上下文){
返回新的FlareActor(“assets/Filip.flr”,alignment:alignment.center,fit:BoxFit.contain,动画:“idle”);
}
}

访问flare_颤振

您可以按照以下步骤操作
-访问
-上传您的SVG图标
-单击下载按钮
-您将获得两个文件
1.iconname.dart
2。iconname.ttf字体文件

-在flatter&import iconname.dart中使用此文件

您可以使用此库渲染SVG图像-

范例-

Container(
    child: SvgPicture.asset("assets/images/yourImage.svg")
)

第一步。在pubspec.yaml中添加依赖项

dependencies:
     flutter_svg: any
任何版本的优点是可以在任何SDK版本中使用

第二步导入应用程序中的颤振svg包

 import 'package:flutter_svg/flutter_svg.dart';
第三步。就像下面这样使用

 SvgPicture.asset(
    'assets/images/bm-icon1.svg',
     width: 18.0,
     height: 18.0,
  ),

此外,如果您不需要颜色,您可以始终按照图标软件包的方式使用字体。毕竟,他只需要渲染svg图像,任何svg库都可以这样做。本期自2016年2月13日起发行。“我们还要等多久?”看看丹·菲尔德的回答。用户
flatter\u svg
packageJust FYI-这不是官方/第一方插件。这就是说,它应该支持很多常见的用例。是的,这个插件依赖于其他软件包,所以让作者不断更新它是非常重要的。我无法使用此软件包,因为其他软件包与其旧的xml ^4.0.x依赖项有点脱离主题,但此软件包是否支持iOS?据我所知,iOS支持PDF格式的向量,所以我只是好奇这是否可以用于在iOS上渲染向量,它应该可以在任何平台上工作。它都是用Dart编写的,使用的是
Canvas
方法。为什么它不支持最新的颤振稳定而不是预览呢?颤振有dart2支持吗?我希望将多个svgelement组合成一个大的序列化字符串,然后使用您的库来呈现SVGdart:svg与HTML和dart2js一起使用。它与此非常不同。请尝试使用简单易用的
flatter_svg 0.14.0
软件包。它的工作原理类似于charm更多信息,这一切都要感谢这个将chrome的svg渲染逻辑移植到Dart的家伙。我如何使用它?假设我在asset/svg/mysvg.svg中有一个svg文件,我不能用路径替换十六进制。第一个参数是一个int。这个包可以按照我的要求正常工作
 SvgPicture.asset(
    'assets/images/bm-icon1.svg',
     width: 18.0,
     height: 18.0,
  ),