HarmonyOS Next开发学习手册——Svg开发

基础知识

Svg组件主要作为svg画布的根节点使用,也可以在svg中嵌套使用。

说明
svg父组件或者svg组件需要定义宽高值,否则不进行绘制。

创建Svg组件

在pages/index目录下的hml文件中创建一个Svg组件。

<!-- xxx.hml -->
<div class="container">
  <svg width="400" height="400">  </svg>
</div>

/* xxx.css */
.container{
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #F1F3F5;
}
svg{
  background-color: blue;
}

设置属性

通过设置width、height、x、y和viewBox属性为Svg设置宽度、高度、x轴坐标、y轴坐标和Svg视口。

<!-- xxx.hml -->
<div class="container">
  <svg width="400" height="400" viewBox="0 0 100 100">    
    <svg class="rect" width="100" height="100" x="20" y="10">    
    </svg>  
  </svg>
</div>

/* xxx.css */
.container{
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #F1F3F5;
}
svg{
  background-color: yellow;
}
.rect{
  background-color: red;
}

说明

  • x和y设置的是当前Svg的x轴和y轴坐标,如果当前Svg为根节点,x轴和y轴属性无效。
  • viewBox的宽高和svg的宽高不一致,会以中心对齐进行缩放。

绘制图形

Svg组件可以用来绘制常见图形和线段,如矩形( )、圆形( )、线条( )等,具体支持图形样式还请参考svg组件。

在本场景中,绘制各种图形拼接组成一个小房子。

<!-- xxx.hml -->
<div class="container">
  <svg width="1000" height="1000">
    <polygon points="100,400 300,200 500,400" fill="red"></polygon>     //屋顶
    <polygon points="375,275 375,225 425,225 425,325" fill="orange"></polygon>   //烟囱
    <rect wid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值