html2image样式变形,React Native - transform样式的使用详解(平移、缩放、旋转、倾斜等图形变换)...

在 React Native 开发中,我们可以通过 transform样式的设置来实现组件(包括文字、图像)的变形。

一、四种变形样式

1,平移(translate)

translateX:沿 x 轴方向平移

translateY:沿 y 轴方向平移

d2ef6c530ad84a9b2a5280a89fee4c27.png

import React, { Component } from 'react';

import {

AppRegistry,

StyleSheet,

View,

Text,

} from 'react-native';

class Main extends Component {

render() {

return (

欢迎访问 hangge.com

欢迎访问 hangge.com

欢迎访问 hangge.com

);

}

}

const styles = StyleSheet.create({

flex:{

flex:1,

padding:35

},

t1: {

transform: [{translateX:100}]

},

t2: {

transform: [{translateY:50}]

}

});

AppRegistry.registerComponent('HelloWorld', () => Main);

2,缩放(scale)

scaleX:沿 x 轴方向放大

scaleY:沿 y 轴方向放大

scale:沿 x、y 轴方向都放大

74e217f31ca941b01cd475dfa0c0c623.png

import React, { Component } from 'react';

import {

AppRegistry,

StyleSheet,

View,

Text,

} from 'react-native';

class Main extends Component {

render() {

return (

欢迎访问 hangge.com

欢迎访问 hangge.com

欢迎访问 hangge.com

欢迎访问 hangge.com

);

}

}

const styles = StyleSheet.create({

flex:{

flex:1,

alignItems: 'center'

},

t1: {

transform: [{scaleX:2}]

},

t2: {

transform: [{scaleY:2}]

},

t3: {

transform: [{scale:2}]

}

});

AppRegistry.registerComponent('HelloWorld', () => Main);

3,旋转(rotate)

rotateX:沿 x 轴旋转

rotateY:沿 y 轴旋转

rotateZ:沿 z 轴旋转

rotate:不指定轴旋转

dd2fc58529405d8b6d861ce67fcbaa95.png

import React, { Component } from 'react';

import {

AppRegistry,

StyleSheet,

View,

Text,

} from 'react-native';

class Main extends Component {

render() {

return (

欢迎访问 hangge.com

欢迎访问 hangge.com

欢迎访问 hangge.com

欢迎访问 hangge.com

欢迎访问 hangge.com

);

}

}

const styles = StyleSheet.create({

flex:{

flex:1,

alignItems: 'center'

},

t1: {

transform: [{rotateX:'45deg'}]

},

t2: {

transform: [{rotateY:'45deg'}]

},

t3: {

transform: [{rotateZ:'45deg'}]

},

t4: {

transform: [{rotate:'45deg'}]

}

});

AppRegistry.registerComponent('HelloWorld', () => Main);

4,倾斜(skew)

skewX:沿 x 轴方向倾斜

skewY:沿 y 轴方向倾斜

4ebf9ce59ba5e2530d08621576b9d6dc.png

import React, { Component } from 'react';

import {

AppRegistry,

StyleSheet,

View,

Text,

} from 'react-native';

class Main extends Component {

render() {

return (

欢迎访问 hangge.com

欢迎访问 hangge.com

欢迎访问 hangge.com

);

}

}

const styles = StyleSheet.create({

flex:{

flex:1,

alignItems: 'center'

},

t1: {

transform: [{skewX:'45deg'}]

},

t2: {

transform: [{skewY:'45deg'}]

}

});

AppRegistry.registerComponent('HelloWorld', () => Main);

旋转与倾斜的区别:

rotate控制目标整体旋转,与目标内部形状无关,目标内部不发生任何形变。

skew目标内部的形状会随倾斜而改变。

二、组合式样多种形变样式

上面的代码中我们每个组件只使用一种形变效果。而在实际开发时,可以同时叠加使用多种形变效果。

951007cc9f65478f7fdb780f25ea3aaa.png

transform: [{scale:2}, {rotateY:'45deg'}] //x,y轴都放大并且y轴倾斜

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值