首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图片操作系列 —(1)手势缩放图片功能

所以本文我先来实现实现根据手势来实现图片的缩放功能: 1.添加图片布局 PhotoView是继承了ImageView,然后直接在layout中使用PhotoView,为了更方便的讲解,我就直接还是使用ImageView...具体具体可以看这篇文章,写的很详细:用户手势检测-GestureDetector使用详解 而此处我们因为做的功能是通过手势来缩放图片,所以我们就要监听二个手指头缩放动作,所以我们使用的是ScaleGestureDetector...float scaleFactor = detector.getScaleFactor();复制代码 我们可以通过这个方法获取到缩放因子,缩放因子会根据你的手势的变大会越来越大,如果你返回了true,那就说明这次的缩放行为就已经结束了...我们可以看到,我们设置了大于2才返回true,(前提二个手指是做放大手势)那么缩放因子就会一直变大到2,才会认为这次缩放行为结束了,就再次从1开始了。...3.图片实时手势缩放 我们前面已经知道了。手势变化的时候会触发onScale方法,所以我们只要把图片的具体的放大缩小的逻辑放在onScale里面即可。

3.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    :Parallel,并行识别组合手势中注册的手势将同时进行识别,直到所有手势识别结束,并行识别手势组合中的手势进行识别时互不影响。...2、在对图片进行双指捏合时,优先触发绑定的PinchGesture手势,对图片进行缩放操作;当滑动拖拽图片时,识别绑定的PanGesture手势,对图片进行拖拽移动。...onActionUpdate和onActionEnd回调中修改scale参数,进行图片缩放处理。...// 当捏合手势触发时,可以通过回调函数获取缩放比例,从而修改组件的缩放比例onPinchGestureActionUpdate(event: GestureEvent) {  const SCALE_VALUE...,计算当前的isScaling// 如果缩放比例小于1,弹簧效果重置成原比例onPinchGestureActionEnd() {  this.pinchValue = this.scaleValue;

    19010

    iOS中手势的应用1. 四类事件的主要方法2. 响应者链3. 手势识别功能(Gesture Recognizer)4. 手势的使用

    ,定义了所有手势的基本行为,使用它的子类才能处理具体的手势 UITapGestureRecognizer(点按) UIPinchGestureRecognizer(捏合,用于缩放) UIPanGestureRecognizer...]; } 4.4 捏合手势 - (void)addPinchGesture { //创建缩放(捏合)手势 并添加手势的监听事件 UIPinchGestureRecognizer *pinch...可以实现同时识别两个手势 pinch.delegate = self; [self.imageView addGestureRecognizer:pinch]; } //识别到 缩放...recognizer.scale = 1.0; } 4.5 旋转手势 - (void)addRotateGesture { //创建缩放 旋转并添加手势的监听事件 UIRotationGestureRecognizer...recognizer.rotation = 0.0; //非常重要 角度也会叠加 } 4.6 单击手势 - (void)addTapGesture { //创建缩放点按(单击,点击)并添加手势的监听事件

    2.3K40

    EasyPlayer实现视频的局部缩放、平移功能(类似快手视频)「建议收藏」

    EasyPlayer实现视频的局部缩放、平移功能(类似快手视频) 在预览图片的时候,利用手势控制图片的缩放、平移,已经是智能手机时代最基本的操作。而对于视频,很少有播放器支持这样的操作。...感谢github上开源库PhotoView,它在ImageView上实现了缩放和平移。EasyPlayer的视频手势控制正是基于这个库来实现的。...PhotoView,具体来说,先设置ImageView的ScaleType为MATRIX,然后根据触摸手势的位置坐标,计算出图片转换时相应的Matrix, 再调用ImageView的setImageMatrix...方法,实现图片的缩放和平移。...需要注意的是,这里手势控制的并不是ImageView本身,而是控制其显示内容。

    1.9K10

    在小程序里实现手势缩放,你可以这样做 | 实战教程

    因此,如果要在小程序中展示带有细节信息的图片(例如地铁线网图),就需要为其加上缩放功能。而用双指张合手势进行缩放,是大部分智能手机用户都已经习惯了的缩放方法。...今天,知晓程序就为大家带来有关手势缩放功能的实现方法,以及手势缩放实现在小程序中的局限和问题。 手势动态检测 首先,我们需要获得用户的触摸事件。...手势缩放的核心思想是:根据两只手指相对距离的变化,对图片进行放大或缩小。因此,我们需要知道两只手指相对距离的变化值,才能让图片按预期缩放。...图片动态缩放 到这里,我们已经可以探测用户的手指距离变化了。接下来,我们需要根据用户的手势,确定图片缩放倍数,然后根据倍数缩放图片。...以上就是知晓程序(微信号 zxcx0101)带来的手势缩放图片功能的实现教程。虽然目前手势缩放并不能完美实现,但也希望大家可以举一反三,通过这个思路,创造出体验更好的小程序。

    2K20

    android 特色输入输出

    学习内容 Ø Android中的手势识别 Ø Android中的语音朗读 能力目标 Ø 熟练掌握如何通过手势缩放图片 Ø 掌握手势文件的创建方法及技巧 Ø 熟练掌握如何通过手势输入字符串 Ø 熟练掌握如何通过手势调用程序...但这些缩放方式太“传统”了,它利用的原理基本上和利用Matrix借助SeekBar组件实现一样。下面我们通过手势实现只需要在图片上随意地挥动手指就能实现图片缩放的功能。...示例6.1​ 根据用户手势进行图片的缩放,当手指从左向右挥动时图片被放大,从右向左挥动时图片被缩小,挥动速度越快,缩放比越大。...本程序的实现思路比较简单:使用一个GestureDetector来检测用户的手势,并根据用户手势在水平方向上的速度来缩放图片。...imageView = (ImageView) findViewById(R.id.​pic​); matrix = ​new​ Matrix(); // 获取被缩放的源图片 bitmap =

    5410

    UIScrollView的一步步实现1 简介1.1 工作原理1.2 UIScrollView常见的几个重要控件1.3 UIScrollView常见的重要属性1.4 手工代码实现拖动2 三个重要属性的进

    当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容。 普通的 UIView 不具备滚动功能,不能显示过多的内容。...缩放结束后 scrollView 本身的 frame 并没有发生变化 缩放结束后 imageView 本身的 bounds 也没有发生变化 缩放结束后 imageView 的 center 发生了变化...= [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"002"]]; _imageView = imageView; /...; 1.5 ScrollView的手势缩放步骤 设置 UIScrollView 的 id delegate 代理对象。...- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ return self.imageView; 正在缩放时调用的方法

    1.6K60

    Android图片处理--缩放

    上一篇文章介绍了图片的全景效果查看,今天介绍一个图片缩放,我们如果有时间的话,可以自己写一个属于自己的库,里面会用到view的按压、事件分发、手势等一些知识,如果没有时间或者不会其他的方法,不妨来看看这个...这是一个图片缩放库,对于这样的还有GitView等,下面我就介绍一些用法。...功能: 正常加载图片 双击放大 手势随意缩放 随意拖动查看图片每一个角落 结合其他设置可实现翻转 1:本地图片加载 ImageView android:layout_width="match_parent..."http://site.com/image.png", "file:///mnt/sdcard/image.png") * @param imageView {@link ImageView... is null */ public void displayImage(String uri, ImageView imageView) { displayImage

    2.7K60

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

    抽屉效果的实现 I 手势识别器 为了完成手势识别,必须借助于手势识别器UIGestureRecognizer。...(捏合,用于缩放) UIPanGestureRecognizer(拖拽) UISwipeGestureRecognizer(轻扫) UIRotationGestureRecognizer(旋转) UILongPressGestureRecognizer...(长按) 2、 UITapGestureRecognizer 1.2 手势识别器的使用步骤 每一个手势识别器的用法都差不多,比如UITapGestureRecognizer的使用步骤: //创建手势识别器对象...:tap]; //监听手势的触发 [tap addTarget:self action:@selector(tapIconView:)]; 1.3 手势识别器的使用 // #import...]; [self.ImageView setTransform:CGAffineTransformTranslate(self.ImageView.transform, translation.x

    90330
    领券