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

图片缩放拖拽等操作

跟系统图库的效果一样哦,先贴一张美女图片,听说有美女,男人就会多看一眼,不知道是不是真的,哈哈 布局文件需要注意的一点是 scaleType一定要是 matrix,这样才能对图片进行一系列的矩阵操作,例如放大缩小,拖拽...*/ float minScaleR = 1.0f;   /** 最大缩放比例*/ static final float MAX_SCALE = 10f;   /** 初始状态*/...static final int NONE = 0;   /** 拖动*/ static final int DRAG = 1;   /** 缩放*/ static final int ZOOM...:"+p[0]+",最小缩放级别:"+minScaleR);                 matrix.setScale(minScaleR, minScaleR);               ...}   if (p[0] > MAX_SCALE) {   //Log.d("", "当前缩放级别:"+p[0]+",最大缩放级别:"+MAX_SCALE);                 matrix.set

2.2K60
您找到你想要的搜索结果了吗?
是的
没有找到

HTML5 拖拽上传图片实例

因为标题写的是实例,所以本次就不做讲解了,因为这个实例我也算是东拼西凑整出来的,参考了大概5、6款拖拽上传的插件和demo,然后把其中好的地方挑出来,最后就成了这么一个实例,一起来看下吧(地址不能保证长久有效...dropupload.html   界面样式我是参考了一个国外的相册网站,改动不大,只是把鸟语转换成中文,以及上传时的样式也进行了改动,之所以选这个的原因就是,我很容易做扩展,它支持3种方式添加图片,一种拖拽上传...它很巧妙的把三种上传模式整合到了一起,而且你可以用IE浏览器浏览下,如果不支持HTML5,是没有拖拽上传图片的提示的,如图:   拖拽上传最重要的就是js部分的代码,它实现了70%的功能,另外30%仅仅是把图片信息提交到后台...获取文件列表 var fileList = e.dataTransfer.files; var img = document.createElement('img'); //检测是否是拖拽文件到页面的操作...主要实现代码是从“功能实现”开始的,这块具体为何这样操作,原理是什么,我就不多说了,大家可以参考下这篇文章:《人人网首页拖拽上传详解(HTML5 Drag&Drop、FileReader API、formdata

2.7K30

轻松教你搞定组件的拖拽, 缩放, 多控制点伸缩和拖拽数据上报

由于我们的技术栈采用的是 React, 目前还没有一个成熟库可以同时支持自由拖拽缩放, 我们不得不用 react-dragable 和 react-resiable两个库来实现拖拽缩放, 但是这样我们要维护的数据结构就相当复杂了...(当然vue生态有成熟的vue-dragable等来支持自由拖拽缩放), 所以最后笔者决定自己来实现一个....我们从可视化搭建平台的实际业务出发, 可以分析出拖拽缩放有如下几个功能点: 自由拖拽 支持控制点, 多方位缩放 支持自由控制层级 支持组件静态化(即为了实现固定, 预览页面等效果) 拖拽缩放的数据能回传给上层组件并提供受控机制...实现以上四点我们就可以实现一个可用的拖拽缩放组件....接下来笔者就来介绍一下实现的开源拖拽缩放组件rc-drag.

91620

彻底搞懂拖拽——基于鼠标事件的拖拽以及基于HTML5 API的拖拽完整实现

一、基于鼠标事件的拖拽 原理——onmousedown、onmousemove、onmouseup onmousedown 该事件会在鼠标按键被按下时触发 支持该事件的HTML标签: , <...解决方案 只需要实时计算拖拽的元素边框距离上下左右屏幕之间的距离就行了,具体代码如下: code: <!...至此使用鼠标事件的拖拽大功告成!...---- 二、基于HTML5拖拽API的拖拽 前序知识介绍   一个典型的拖拽操作是这样的:用户用鼠标选中一个可拖动的(draggable)元素,移动鼠标到一个可放置的(droppable)元素,然后释放鼠标...当用户开始拖动一个元素或选中的文本时触发 drop ondrop 当元素或选中的文本在可释放目标上被释放时触发 ps:当从操作系统向浏览器中拖动文件时,不会触发dragstart 和dragend 事件 接口: HTML5

3.1K30

微信小程序单指拖拽和双指缩放旋转

小程序单指拖拽和双指操作是一个比较常用的功能,效果如下图 实现这三个功能,主要用三个触摸事件touchstart、touchmove、touchend <view style="height: 100vh...translateX: 0, // 位移x坐标 单位px translateY: 0, // 位移y坐标 单位px distance: 0, // 双指接触点距离 scale: 1, // <em>缩放</em>倍数...this.setData({ translateX: onePageX - startMove.x, translateY: onePageY - startMove.y }) } 双指<em>缩放</em>...双指<em>缩放</em>的原理是根据两点坐标求出距离(勾股定理),然后在用移动坐标的距离比就可以求出<em>缩放</em>倍数 touchmove touchMove(e) { const touches = e.touches...== 2这个判断的原因是防止图片跳动,因为如果你两个手指触摸,然后离开一个手指,我是禁止<em>拖拽</em>的,只有双指都离开后再次触摸才能单指<em>拖拽</em> 双指旋转 双指旋转的原理是根据三角函数求出起始点的角度,然后再求出移动坐标的角度

2.2K31

【javascript】谈谈HTML5—Web Worker+canvas+indexedDB+拖拽事件

为什么学习HTML5? 咳咳, 回到主题,为什么我们要学HTML5呢?...1.了解HTML5的囊括范围的一大好处是:当你不小心使用了一个H5的东东的时候(例如你试图通过百度找到的答案解决一个紧张的需求),你会很及时的关注它的兼容性 2.H5有些新增的特性也许你从没接触过,也感觉无需用到它...如何使得被拖拽元素可拖拽?(因为元素默认的行为是不可拖拽的),以及如何使得被放置的容器元素可放置?...appendChild之类的API实现添加被拖拽的元素,从而模拟整个拖拽的过程 也就是说, 拖拽其实可分为三个过程: 拖动—传递被拖动元素的数据(如id)—在容器元素中添加该元素 关键在于如何在被拖动元素和被放置元素中传递数据...拖拽后 ? 参考资料: HTML5-MDN https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML5 【完】 ?

3.7K100

【javascript】谈谈HTML5: Web-Worker、canvas、indexedDB、拖拽事件

为什么学习HTML5? 咳咳, 回到主题,为什么我们要学HTML5呢?...1.了解HTML5的囊括范围的一大好处是:当你不小心使用了一个H5的东东的时候(例如你试图通过百度找到的答案解决一个紧张的需求),你会很及时的关注它的兼容性 2.H5有些新增的特性也许你从没接触过,也感觉无需用到它...如何使得被拖拽元素可拖拽?(因为元素默认的行为是不可拖拽的),以及如何使得被放置的容器元素可放置?...appendChild之类的API实现添加被拖拽的元素,从而模拟整个拖拽的过程 也就是说, 拖拽其实可分为三个过程: 拖动—传递被拖动元素的数据(如id)—在容器元素中添加该元素 关键在于如何在被拖动元素和被放置元素中传递数据...拖拽后 ? 参考资料: HTML5-MDN https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML5 【完】

3K30

图片上传前预处理,等比缩放、裁剪 (html5 + canvas)

源码地址:https://github.com/capricorncd/image-process-tools 解决图片上传前缩放到一定比例自动居中裁剪、等比缩放等。...后期版本应该会加入手动设置裁剪位置及缩放比例。 处理完成后,将返回处理完成的数据,及原图片文件的大小、宽度、高度和Base64数据。...(即一边等于设置值,另一边超出设置值部分裁去),居中裁剪 width: 640 裁剪或缩放宽度为640px(可选) 不配置crop,或crop为false时,则为缩放尺寸。...1.限制宽度缩放,则只需设置width值。 2.限制高度缩放,则只需设置height值。...3.若crop为false,同时设置了width/height值,则只按width缩放,忽略height height: 640 裁剪或缩放高度为640px(可选) type: jpg 上传图片目标格式

2K20
领券