1/** 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16@Entry 17@Component 18struct ScreenExample { 19 @State myScale: number = 1; 20 @State myScaleOut: number = 1; 21 build() { 22 Column() { 23 Text(this.myScale.toString()) 24 Image($r('app.media.icon')) 25 .objectFit(ImageFit.Auto) 26 .height(200) 27 .width(200) 28 .id("pinch_ima") 29 .scale({ x: this.myScale, y: this.myScale, z: this.myScale }) 30 .gesture( 31 PinchGesture() 32 .onActionStart((event: GestureEvent) => { 33 console.info('Pinch start'); 34 }) 35 .onActionUpdate((event: GestureEvent) => { 36 this.myScale = event.scale; 37 }) 38 .onActionEnd(() => { 39 console.info('Pinch end'); 40 }) 41 ) 42 Image($r('app.media.icon')) 43 .objectFit(ImageFit.Auto) 44 .height(200) 45 .width(200) 46 .margin({top: 100}) 47 .id("pinch_ima_out") 48 .scale({ x: this.myScaleOut, y: this.myScaleOut, z: this.myScaleOut }) 49 .gesture( 50 PinchGesture() 51 .onActionStart((event: GestureEvent) => { 52 console.info('Pinch start'); 53 }) 54 .onActionUpdate((event: GestureEvent) => { 55 this.myScaleOut = event.scale; 56 }) 57 .onActionEnd(() => { 58 console.info('Pinch end'); 59 }) 60 ) 61 } 62 .width('100%') 63 .height('100%') 64 } 65}