react-native-art 绘图

2019-10-24  本文已影响0人  CoderKK

Surface

渲染区域

Props
render(){
  return (
    <Surface width={100} heighet={100}>
      { all other components }
    </Surface>
  )
}

其他ART组件的容器组件

Shape

用来绘制任意路径Path和形状,可以理解为绘制图层

Props

Group

用来组织多个绘制图层,当绘制的图像有多个Shape时用Group包含,也可以包含Group(包含自己)

render(){
  return (
    <Surface>
      { this.getContainer() }
      <Shape/>
    </Surface>
  )
}

getContainer = () => {
  return (
    <Group>
      <Shape/>
    </Group>
  )
}

Path对象

  Path().moveTo(10, 100).lineTo(100, 70)

以(10,100)为起点(100, 70)为终点画直线


image.png
  Path().moveTo(10, 100).line(300, 0) 

以(10,100)为起点(300, 0)偏移量画直线


image.png
  Path().moveTo(150,50).arc(100, 0,50) 

绘制一半圆弧(150,50)起点,(100, 0)偏移量(终点) 50 半径


image.png
  Path().arc(30, 50, 70, 90, true, false, 1) 

画一段圆弧(30, 50)起点,(70, 90)控制点 (true, false, 1)不知/逆时针/不知,另个一圆弧的点在视图的边缘


image.png

arcTo(xPosition, xPosition, xRadius, yRadius[,outer,counterClockWise,rotation])
arcTo为绝对定位到某点画弧

-curve()、curveTo():绘制曲线

SVG Path

let path = "M250 150 L150 350 L350 350 Z "

上例开始于位置 250 150,到达位置 150 350,然后从那里开始到 350 350,最后关闭路径形成三角形


image.png

以上是对react-native-art的 API 的简单介绍,但复杂的图形绘制都是通过这些 API 实现的,绘制复杂图形需要的是数学图形函数的相关知识。

上一篇 下一篇

猜你喜欢

热点阅读