W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
用于對組件進行旋轉、平移、縮放、矩陣變換等操作。
從API Version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標單獨標記該內(nèi)容的起始版本。
名稱 | 參數(shù)類型 | 描述 |
---|---|---|
rotate | { x?: number, y?: number, z?: number, angle: number | string, centerX?: number | string, centerY?: number | string } | 可使組件在以組件左上角為坐標原點的坐標系中進行旋轉(坐標系如下圖所示)。其中,(x, y, z)指定一個矢量,作為旋轉軸。 - angle:旋轉角度。取值為正時相對于旋轉軸方向順時針轉動,取值為負時相對于旋轉軸方向逆時針轉動。取值可為string類型,如'90deg'。 - centerX和centerY用于指定旋轉的中心點。 旋轉軸和旋轉中心點都基于坐標系設定,組件發(fā)生位移時,坐標系不會隨之移動。 默認值: { x: 0, y: 0, z: 0, centerX: '50%', centerY: '50%' } 從API version 9開始,該接口支持在ArkTS卡片中使用。 |
translate | { x?: number | string, y?: number | string, z? : number | string } | 可使組件在以組件左上角為坐標原點的坐標系中進行移動(坐標系如下圖所示)。其中,x,y,z的值分別表示在對應軸移動的距離,值為正時表示向?qū)S的正向移動,值為負時表示向?qū)S的反向移動。移動距離支持數(shù)字和字符串(比如'10px',‘10%’)兩種類型。 默認值: { x: 0, y: 0, z: 0 } 從API version 9開始,該接口支持在ArkTS卡片中使用。 |
scale | { x?: number, y?: number, z?: number, centerX?: number | string, centerY?: number | string } | 可以分別設置X軸、Y軸、Z軸的縮放比例,默認值為1,同時可以通過centerX和centerY設置縮放的中心點。 默認值: { x: 1, y: 1, z: 1, centerX:'50%', centerY:'50%' } 從API version 9開始,該接口支持在ArkTS卡片中使用。 |
transform | 設置當前組件的變換矩陣。 |
- // xxx.ets
- import matrix4 from '@ohos.matrix4'
- @Entry
- @Component
- struct TransformExample {
- build() {
- Column() {
- Text('rotate').width('90%').fontColor(0xCCCCCC).padding(15).fontSize(14)
- Row()
- .rotate({
- x: 0,
- y: 0,
- z: 1,
- centerX: '50%',
- centerY: '50%',
- angle: 300
- }) // 組件以矢量(0,0,1)為旋轉軸,繞中心點順時針旋轉300度
- .width(100).height(100).backgroundColor(0xAFEEEE)
- Text('translate').width('90%').fontColor(0xCCCCCC).padding(10).fontSize(14)
- Row()
- .translate({ x: 100, y: 10 }) // x軸方向平移100,y軸方向平移10
- .width(100).height(100).backgroundColor(0xAFEEEE).margin({ bottom: 10 })
- Text('scale').width('90%').fontColor(0xCCCCCC).padding(15).fontSize(14)
- Row()
- .scale({ x: 2, y: 0.5 }) // 高度縮小一倍,寬度放大一倍,z軸在2D下無效果
- .width(100).height(100).backgroundColor(0xAFEEEE)
- Text('Matrix4').width('90%').fontColor(0xCCCCCC).padding(15).fontSize(14)
- Row()
- .width(100).height(100).backgroundColor(0xAFEEEE)
- .transform(matrix4.identity().translate({ x: 50, y: 50 }).scale({ x: 1.5, y: 1 }).rotate({
- x: 0,
- y: 0,
- z: 1,
- angle: 60
- }))
- }.width('100%').margin({ top: 5 })
- }
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: