美文网首页
#3 ReactART初步使用

#3 ReactART初步使用

作者: JamesSawyer | 来源:发表于2018-08-16 18:06 被阅读28次
import React, { Component } from 'react';
import {
  StyleSheet,
  View,
  ART
} from 'react-native';

class Circle extends Component {
  render() {
    const { radius, ...rest } = this.props;

    const circle = ART.Path()
                      .move(radius, 0)
                      .arc(0, radius * 2, radius)
                      .arc(0, radius * -2, radius)

    return <ART.Shape {...rest} d={circle} />;
  }
}
export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <ART.Surface width={200} height={200}>
          <ART.Group x={0} y={0}>
            <Circle radius={100} fill='#f2f' />
          </ART.Group>
        </ART.Surface>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
});

第一印象,ReactART 就是SVG, canvas的结合体。其中:

  • Surface 就是 <canvas /> 元素, 提供绘制的平面
  • Path 就是 svg中的路径,其方法则是canvas中的一系列绘制操作
art draw circle.png

上面的例子可以将各个组件从 ART 中提取出来:

import React, { Component } from 'react';
import {
  StyleSheet,
  View,
  ART
} from 'react-native';

const { Path, Surface, Group, Shape } = ART;

class Circle extends Component {
  render() {
    const { radius, ...rest } = this.props;

    const circle = Path()
                      .move(radius, 0)
                      .arc(0, radius * 2, radius)
                      .arc(0, radius * -2, radius)

    return <Shape {...rest} d={circle} />;
  }
}
export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Surface width={200} height={200}>
          <Group x={0} y={0}>
            <Circle radius={100} fill='#f2f' />
          </Group>
        </Surface>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
});

相关文章

  • #3 ReactART初步使用

    第一印象,ReactART 就是SVG, canvas的结合体。其中: Surface 就是 元素, 提供绘制...

  • Day16~17 JavaScript 如果可以重来

    了解JS JS 中 if 和 for的使用 初步了解 JavaScript/ECMAScript 是什么 W3Sc...

  • Yeoman

    初步使用Yeoman 1.全局安装Yeoman 安装对应的generator 3.通过yo运行generator,...

  • ChIPpeakAnno 注释peak

    # 1. 初步使用 运行下面几行代码,初步了解ChIPpeakAnno使用 # 1. 详细例子 ChIPpeakA...

  • cellranger使用的初步探索(3)cellranger a

    在学习cellranger aggr这一步之前,还是需要再一次复习10x Genomics的测序原理。在cellr...

  • swiper3在火狐浏览器的兼容问题

    经过反复的测试,初步确认是swiper的兼容性问题,因为使用的是swiper3。

  • Hive 初步使用

    Hive 总:https://cwiki.apache.org/confluence/display/Hive/H...

  • Elasticseach初步使用

    最近公司项目需要使用Elasticsearch,所以我去阅读文档初步了解下。Elasticsearch下载后基本...

  • NumPy初步使用

    创建ndarray对象: 转换为list 获取ndarray对象的基本信息:维数(ndim)、行列信息(shape...

  • 初步使用markdown

    插入链接献给写作者的 Markdown 新手指南 一级标题 二级标题 三级标题 四级标题 分割线分割线的语法只需要...

网友评论

      本文标题:#3 ReactART初步使用

      本文链接:https://www.haomeiwen.com/subject/rwvobftx.html