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

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

概述 项目开发中,大家APP开发一般都会用到上传图片,比如是上传了自己的生活照,然后在某个界面处查看上传的图片,这时候一般在这个查看详情的界面,会有手势放大缩小功能,手势进行旋转功能,双击放大图片等等。...所以本文我先来实现实现根据手势来实现图片缩放功能: 1.添加图片布局 PhotoView是继承了ImageView,然后直接在layout中使用PhotoView,为了更方便的讲解,我就直接还是使用ImageView...具体具体可以看这篇文章,写的很详细:用户手势检测-GestureDetector使用详解 而此处我们因为做的功能是通过手势缩放图片,所以我们就要监听二个手指头缩放动作,所以我们使用的是ScaleGestureDetector...3.图片实时手势缩放 我们前面已经知道了。手势变化的时候会触发onScale方法,所以我们只要把图片的具体的放大缩小的逻辑放在onScale里面即可。...我来具体跟大家说下: 缩放手势的二个触点的中心有关,而且图片会随着那个方向移动 ? 比如我是二个红点分别是我的手指,然后不停的缩小图片动作,图片不仅变小,而且会随着那个方向做平移。放大则相反。

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

    OpenCV 图片缩放

    OpenCV图片缩放 resize方法 对图像进行缩放的最简单方法就是调用OpenCV中resize函数。resize函数可以将源图像精确地转化为指定尺寸的目标图像。...(默认设置) INTER_AREA 区域插值法 INTER_CUBIC 双三次插值法 图像金字塔方法 图像金字塔同样也是进行图像缩放的,我们先来看一下什么是图像金字塔: ?...上采样:就是图片放大,使用PryUp函数。将图像在每个方向放大为原来的两倍,新增的行和列用0填充,使用先前同样的内核(乘以4)与放大后的图像卷积,获得新增像素的近似值。...下采样:就是图片缩小,使用PryDown函数。对图像进行高斯内核卷积,然后将所有偶数行和列去除。 上、下采样都存在一个严重的问题,那就是图像变模糊了,因为缩放的过程中发生了信息丢失的问题。...注意:通过上图resize2与resize4的结果比较,我们可以看出:采用图像金字塔缩放图片resize方法的结果不太一致。图像金字塔缩放的结果明显要模糊!

    3.4K20

    Android图片处理--缩放

    PS:在开发中我们会遇到一些图片处理问题,比如说缓存图片了、限制图片大小了、查看图片了等。...上一篇文章介绍了图片的全景效果查看,今天介绍一个图片缩放,我们如果有时间的话,可以自己写一个属于自己的库,里面会用到view的按压、事件分发、手势等一些知识,如果没有时间或者不会其他的方法,不妨来看看这个...这是一个图片缩放库,对于这样的还有GitView等,下面我就介绍一些用法。...功能: 正常加载图片 双击放大 手势随意缩放 随意拖动查看图片每一个角落 结合其他设置可实现翻转 1:本地图片加载 <ImageView android:layout_width="match_parent...android:src="@mipmap/ic_launcher" android:id="@+id/id_myimg"/> 第一种方法: //本地加载方法一 // 设置图片

    2.7K60

    使用动画缩放图片

    我们的app经常遇到这样一种场景,就是小图到大图的转换,这时候如果有个缩放动画就会很自然。本节将介绍如何使用动画进行缩放图片,在点击头像看大图这种场景可以使用。本文的例子的示意图如下所示: ?...下面的代码是在主线程中加载图片的,这个过程在现实app中一般是要进行网络操作的,需要放在非UI线程。理想状态下,这个图片的尺寸是不应该超过屏幕尺寸的。...使用一个相似的动画作用于大的ImageView,当点击后,图片缩小回去,最后隐藏ImageView。...从大到小缩放 从大到小的缩放动画与上面的动画相反,这里就不贴代码了,感兴趣的可以去后面找demo地址查看。 缩放比例不一致的效果 上面的例子与官方类似,都是缩放比例一致。...本着好奇心,试试缩放比例不一致的效果如何。 效果如下: ? 反正我是没怎么看出差距来,看出来的差距的欢迎留言我。

    2.2K20

    React Native手势密码插件

    一:介绍 React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持...在React Native移动平台项目开发中,除了React Native 提供的封装好的部分插件和原声组建外,在实际的项目中还需要使用到很多其他的插件,比如网络请求、数据库、相机、相册、通讯录、视频播放器...、浏览器、蓝牙连接、图片处理、消息推送、地图、统计、埋点等等APP开发中需要用到的功能,都为IDE开发平台提供封装好的插件,以便项目开发使用。...这篇文章重点介绍手势密码插件的开发与使用。...二:实现思路分析 手势密码插件是需要实现可视页面控制器、设置手势密码、验证手势密码、密码sm3加密、密码本地保存等功能,这些功能加通过在PwdLockPlugin类中封装的SetPwdLock方法和DecryptLock

    1.2K20

    图片操作系列 —(2)手势旋转图片

    前言 在上次的文章:图片操作系列 —(1)手势缩放图片功能中,我们已经学会了如何用手势来对图片进行缩放。这次我们继续来看第二个操作,那就是如何用手势来旋转图片。...大家可以直接参考图片操作系列 —(1)手势缩放图片功能。...所以我们的问题就变成了如果获取二个手指头在做旋转手势的时候,相应的角度的变化,从而通过Matrix.postRotate方法来让图片也跟着变化。...1.获取二个手指头的手势监听 在图片操作系列 —(1)手势缩放图片功能文中我们知道,控制图片缩放是专门有个ScaleGestureDetector;在OnTouch事件中把相应的事件传递给ScaleGestureDetector...如果你还记得我们上一篇文章:图片操作系列 —(1)手势缩放图片功能,这篇文章最后的内容讲的就是当图片超过边界,如果能随着手势慢慢回到边界里面:checkMatrixBounds()。

    3.6K40

    图片缩放,拖拽等操作

    之前做项目要对图片的查看,然后就自己写了一个,适合对图片的浏览,跟系统图库的效果一样哦,先贴一张美女图片,听说有美女,男人就会多看一眼,不知道是不是真的,哈哈 布局文件需要注意的一点是 scaleType...一定要是 matrix,这样才能对图片进行一系列的矩阵操作,例如放大缩小,拖拽,等等 <RelativeLayout xmlns:android="http://schemas.android.com/...public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   // 获取<em>图片</em>资源...}   if (p[0] > MAX_SCALE) {   //Log.d("", "当前缩放级别:"+p[0]+",最大缩放级别:"+MAX_SCALE);                 matrix.set...rect.height();   float width = rect.width();   float deltaX = 0, deltaY = 0;   if (vertical) {   // 图片小于屏幕大小

    2.3K60
    领券