首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏HarmonyOS NEXT实战

    HarmonyOS NEXT实战:图片放大和缩小

    事件 onActionStart(event:(event: GestureEvent) => void) //Pinch手势识别成功回调。 onActionUpdate(event:(event: GestureEvent) => void) //Pinch手势移动过程中回调。 onActionEnd(event:(event: GestureEvent) => void) //Pinch手势识别成功,手指抬起后触发回调。 onActionCancel(event: () => void) //Pinch手势识别成功,接收到触摸取消事件触发回调。 属性 tag:设置Pinch手势标志,用于自定义手势判定时区分绑定的手势。 allowedTypes:设置Pinch手势支持的事件输入源。

    43810编辑于 2025-06-26
  • 来自专栏AI科技时讯

    图像凹凸算法

    void Pinch(Mat& img, Mat& dst, int degree) { if (degree < 1) degree = 1; if (degree > 32) degree (src_img, dst_img, rato); imshow("Pinch图", dst_img); } int main() { src_img = imread("D:\\WORK \\5.OpenCV\\LeanOpenCV\\pic_src\\pic18.bmp"); imshow("原图", src_img); Pinch(src_img, dst_img, rato); imshow("Pinch图", dst_img); namedWindow("Pinch图"); createTrackbar("Pinch倍率", "Pinch 2、实现 void Pinch(Mat& img, Mat& dst, int x, int y, int degree) { if (dst.empty()) dst.create

    1.1K30发布于 2020-11-19
  • 来自专栏宜达数字

    AR开发-(三)Leap Motion的上手使用

    float nomalizedDistance = (distance - minDistance) / (maxdistance - minDistance); float pinch = 1.0f - Mathf.Clamp01 (nomalizedDistance); Debug.Log ("Current pinch strength" + pinch); Debug.Log ("pinch" + m_hand.GetLeapHand ().PinchStrength); if (pinch > pinchStart) { m_isPinching = true; } else if (pinch< pinchToEnd){ m_isPinching = false;

    76410发布于 2020-06-02
  • 来自专栏AI科技时讯

    图像凹凸算法(代码全)

    2、实现 void Pinch(Mat& img, Mat& dst, int degree) { if (degree < 1) degree = 1; if (degree > 32 (src_img, dst_img, rato); imshow("Pinch图", dst_img); } int main() { src_img = imread("D:\\WORK \\5.OpenCV\\LeanOpenCV\\pic_src\\pic18.bmp"); imshow("原图", src_img); Pinch(src_img, dst_img, rato); imshow("Pinch图", dst_img); namedWindow("Pinch图"); createTrackbar("Pinch倍率", "Pinch 2、实现 void Pinch(Mat& img, Mat& dst, int x, int y, int degree) { if (dst.empty()) dst.create

    1.8K20发布于 2020-11-19
  • 来自专栏iOS逆向与安全

    iOS 小技能:响应者链的事件传递过程、手势识别器的使用步骤、抽屉效果的实现

    self.ImageView]; } - (void) addPinch{ [self addRotation]; UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinch:)]; [pinch setDelegate :self]; [self.ImageView addGestureRecognizer:pinch]; } - (void)pinch:(UIPinchGestureRecognizer *)pinch{ [self.ImageView setTransform:CGAffineTransformScale(self.ImageView.transform, pinch.scale , pinch.scale)]; //复位 pinch.scale = 1; } - (void)addRotation{ UIRotationGestureRecognizer

    1.3K30编辑于 2022-08-22
  • 来自专栏对角另一面

    读Zepto源码之Gesture模块

    Gesture 模块基于 IOS 上的 Gesture 事件的封装,利用 scale 属性,封装出 pinch 系列事件。 gesturechange', function(e){ ... }).bind('gestureend', function(e){ ... }) ;['pinch 然后是监测 gesturestart 、gesturechange、 gestureend 事件,根据这三个事件,可以组合出 pinch 、pinchIn 和 pinchOut 事件。 = 0 && $(gesture.target).trigger('pinch') && $(gesture.target).trigger('pinch' + (gesture.e1 - gesture.e2 ,在起点的缩放值和终点的缩放值不相同的情况下,触发 pinch 事件;如果起点的缩放值比终点的缩放值大,则继续触发 pinchIn 事件,则缩小效果;如果起点的缩放值比终点的缩放值小,则继续触发 pinchOut

    98500发布于 2017-12-27
  • 来自专栏鸿蒙开发笔记

    HarmonyOS 开发实践 —— 基于手势的图片预览与缩放

    = SCREEN_HEIGHT / 2 - this.imageMeta.IMAGE_HEIGHT / 2;      const MAX_PINCH_Y = SCREEN_HEIGHT / 2 + this.imageMeta.IMAGE_HEIGHT / 2;      const MIDDLE_PINCH_Y = SCREEN_HEIGHT / 2;      if (pinchY < MIN_PINCH_Y ) {        pinchY = MIN_PINCH_Y;      }      if (pinchY > MAX_PINCH_Y) {        pinchY = MAX_PINCH_Y;       }      if (pinchY < MIDDLE_PINCH_Y && typeof this.pinchY === 'number') {        this.offsetY = (Number(pinchY) - MIDDLE_PINCH_Y) * (this.scaleValue - 1);      }      if (pinchY > MIDDLE_PINCH_Y &&

    90110编辑于 2024-12-09
  • 来自专栏全栈程序员必看

    iOS_38_手势

    Pan平移手势 终于效果图: Swipe轻扫手势 LongPress长按手势 Pinch和Rotation手势 捏合(缩放)和旋转 终于效果图: 涂鸦 终于效果图: 事件分 (void)addPinch{ // 1.创建Pinch手势识别器对象,同一时候绑定监听方法(识别到了相应的手势,就会调用监听方法) UIPinchGestureRecognizer *pinch pinch.delegate = self; // 3.为nanaImgView 加入Pinch手势识别器对象 [self.nanaImgView addGestureRecognizer: 捏合(缩放)- (void)pinching:(UIPinchGestureRecognizer *)pinch{ // X Y 按比例进行缩放 pinch.view.transform = CGAffineTransformScale(pinch.view.transform, pinch.scale, pinch.scale); // 每次又一次归零~~~ pinch.scale

    1.4K20编辑于 2022-07-06
  • 来自专栏前端导学

    移动端缩放解决方案 hammerjs

    hammertime = new Hammer(elm, { touchAction: 'pan-x pan-y' }); // 兼容x轴和y轴方向的滚动 hammertime.get('pinch '; const el = elm; hammertime.on('panleft panright panup pandown tap press pdoubletap pan pinch } if (posY < -max_pos_y) { posY = -max_pos_y; } } // pinch if (ev.type === 'pinch') { scale = Math.max(.999, Math.min(last_scale * (ev.scale), 4) ('pinchzoom'); PinchZoom.hammerIt(elm); } 本方案参考自 https://stackoverflow.com/questions/18011099/pinch-to-zoom-using-hammer-js

    3.4K20发布于 2019-07-02
  • 来自专栏BY的专栏

    iOS手势与变形

    CGFloat velocity; scale:捏合比例 velocity:捏合速度 = scale/second UIRotationGestureRecognizer(旋转) Rotation手势和Pinch = self; [self.imageView addGestureRecognizer:pan]; //3捏合 UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinch:)]; pinch.delegate = self; [self.imageView addGestureRecognizer:pinch]; //4旋转 UIRotationGestureRecognizer = self; pinch.delegate = self 在storyboard中添加手势 在storyboard的控件栏中我们可以看到这些手势控件: ?

    2.5K40发布于 2018-05-11
  • 来自专栏ionic3+

    svg平移缩放

    Hammer.PointerEventInput : Hammer.TouchInput }) // Enable pinch this.hammer.get ('pinch').set({enable: true}) // Handle double tap this.hammer.on('doubletap', function pannedY}) pannedX = ev.deltaX pannedY = ev.deltaY }) // Handle pinch this.hammer.on('pinchstart pinchmove', function(ev){ // On pinch start remember initial

    3.8K20发布于 2018-08-20
  • 来自专栏计算机编程

    SNS项目笔记<六>--手势Gestures

    'pancancel': true, 'panleft': true, 'panright': true, 'panup': true, 'pandown': true, // pinch 'pinch': true, 'pinchstart': true, 'pinchmove': true, 'pinchend': true, 'pinchcancel': true buildHammer(element: HTMLElement): HammerInstance { const mc = new Hammer(element); mc.get('pinch 源码中跟我们划分好了有pan【随手指移动跟随事件】、pinch【双手指捏合事件】、press【长按事件】、rotate【手势翻转事件】、swipe【手指迅速滑动事件】、tap【短时间触摸事件】 这里说明各大事件是使用场景 :pinch事件是在图片放大缩小的时候,拇指与食指进行缩放操作就可以使用pinch事件来实现,pan事件与swipe事件可以用来处理左右滑动等问题,rotate可以使用来实现使用操作杆等3D手势,tap

    1.9K10发布于 2018-09-12
  • 来自专栏日常技术分享

    TableViewCell和百度地图手势冲突

    1523525631822.jpg 如果要实现这个功能,出现的问题就是缩放地图不灵敏,上下拖动TableView就会跟着动 解决办法 UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]init]; pinch.delegate = self; [self.tableV addGestureRecognizer:pinch

    98720发布于 2018-09-13
  • 来自专栏零域Blog

    iOS手势与变形

    UIPinchGestureRecognizer(捏合) Pinch手势有两个属性: @property (nonatomic) CGFloat scale; @property (nonatomic, CGFloat velocity; scale:捏合比例 velocity:捏合速度 = scale/second UIRotationGestureRecognizer(旋转) Rotation手势和Pinch = self; [self.imageView addGestureRecognizer:pan]; //3捏合 UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinch:)]; pinch.delegate = self; [self.imageView addGestureRecognizer:pinch]; //4旋转 UIRotationGestureRecognizer

    1.7K30编辑于 2022-03-22
  • 来自专栏河湾欢儿的专栏

    探究 css touch-action 属性

    touch-action: pan-right; touch-action: pan-y; touch-action: pan-up; touch-action: pan-down; touch-action: pinch-zoom 可以与 pan-y 、pan-up、pan-down 和/或 pinch-zoom 组合使用 pan-y 启用单指垂直平移手势。 可以与 pan-x 、pan-left 、pan-right 和/或 pinch-zoom 组合使用。 manipulation 浏览器只允许进行滚动和持续缩放操作。 这是“pan-x pan-y pinch-zoom”(为了兼容性本身仍然有效)的别名。 pinch-zoom 启用多手指平移和缩放页面。 这可以与任何平移值组合。

    2.4K10发布于 2018-09-06
  • 来自专栏ionic3+

    【技巧】ionic3的手势Gestures

    pan panstart panmove panend pancancel panleft panright panup pandown 二、pinch——手指缩放 ? pinch.png 最少需要两个手指的操作,才会识别为pinch pinch pinchstart pinchmove pinchend pinchcancel pinchin pinchout

    1K30发布于 2018-08-20
  • 来自专栏烤包子

    【Cesium】设置操作习惯,更换中键和右键

    viewer.scene.screenSpaceCameraController.tiltEventTypes = [ Cesium.CameraEventType.RIGHT_DRAG, Cesium.CameraEventType.PINCH Cesium.CameraEventType.MIDDLE_DRAG, Cesium.CameraEventType.WHEEL, Cesium.CameraEventType.PINCH

    74720发布于 2021-11-10
  • 来自专栏ccf19881030的博客

    Go by Example 中文:正则表达式

    fmt.Println(r.FindAllString("peach punch pinch", -1)) // All 同样可以对应到上面的所有函数。 fmt.Println(r.FindAllStringSubmatchIndex("peach punch pinch", -1)) // 这个函数提供一个正整数来限制匹配次数。 fmt.Println(r.FindAllString("peach punch pinch", 2)) // 上面的例子中,我们使用了字符串作为参数,并使用了如 MatchString 这样的方法 } 运行结果如下: $ go run regular-expressions.go true true peach [0 5] [peach ea] [0 5 1 3] [peach punch pinch

    1K10发布于 2020-05-26
  • 来自专栏go程序例子

    Go程序例子(54):正则表达式

    fmt.Println(r.FindAllString("peach punch pinch", -1))// 这些 All 变体同样适用于我们前面提到的其他函数。 fmt.Println("all:", r.FindAllStringSubmatchIndex( "peach punch pinch", -1))// 为这些函数提供一个非负整数作为第二个参数 fmt.Println(r.FindAllString("peach punch pinch", 2))// 我们上面的例子中有字符串参数,并使用了像MatchString这样的名称。 regular-expressions/regular-expressions.go truetruepeachidx: [0 5][peach ea][0 5 1 3][peach punch pinch

    27310编辑于 2025-01-16
  • 来自专栏跟Qt君学编程

    Qt官方示例-图表缩放

    y()); } if (QGesture *gesture = event->gesture(Qt::PinchGesture)) { QPinchGesture *pinch = static_cast<QPinchGesture *>(gesture); if (pinch->changeFlags() & QPinchGesture::ScaleFactorChanged ) QChart::zoom(pinch->scaleFactor()); } return true; }   需要注意的是,你将需要同时对QMainWindow

    2.5K20发布于 2020-07-02
领券