利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2019/6/27 21:36:26
本文主要是介绍利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
<body> <div class="container demo"> <div class="big"> <p class="instructions">大图预览</p> <div class="bigframe"> <img width="300" height="300" src="images/resized_pic.jpg" alt="" /> </div> </div> <div class="small"> <p>小图缩放</p> <div class="smallframe" > <div class="pre" id="preview"> <img src="images/resized_pic.jpg" alt="" /> </div> </div> </div> </div> </body>
先总结一下:
最近练手,写了一些小东西,都是网上已有的成熟的JQ或JS,但在练手的过程中,我发现,很多应用,其实最后,都是归根到元素的宽高变化,位置变化,通过事件或算法,最后形成了效果或应用。
如果大家看到一些很炫的东西效果,其实都可以往宽高,位置,显示隐藏,这些方面去分析。一步一步深入。是一点个人体会。好吧,进入正题。
如何让左边选择区域的图像信息和右边的同步显示出来?
一、右边显示和左边同步:
左边选择一块区域,那么右边要和这个区域的图像信息相同?其实质,也就是要移动右边的图像,让移动后的右边图片,在显示区域当中,显示的图像信息,正好和左边的选择区域一样。
二、如何移动右边图像
要移动图片,也就是移动一个元素,可以有改变TOP LEFT值,这是在有绝对或相对定位的情况下。而这里,没有。
所以用到改变margin-top margin-left值的方式。
三、移动公式
上图中:黑色:图片,白色:选择区,红色:起始点,绿色:起始点的横纵坐标值; 黄色为:右边图片的margin-top,margin-left
假设:左边图片和右边图片,一样大小,宽和高都一样。我要在右边显示出左边白色区域的图像信息,就需要把右边图片的
margin-top值设为:红点的Y坐标值
margin-left值设为:红点的X坐标值
即:
margin-top = x; margin-left = Y;
但是现在假设不成立,因为右边图片的大小,是随时变化的(第一篇分析中有);
而变化是根据一个比例值来的。
所以这里不管是图片放大,还是缩小,原来
都应该乘以这个放大或缩小的比例值:
margin-top = scaleX*x; margin-left = scaleX*Y;
好了,现在可以得到移动的位置值了。也就是说左边和右边可以同步显示图像信息了。
以上就是本文的全部内容,希望对大家有所帮助,有兴趣的朋友可以看下《利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)》,谢谢对找一找教程网的支持!
这篇关于利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Vue CLI多环境配置学习:从入门到实践
- 2024-11-24Vue CLI多环境配置学习:新手入门教程
- 2024-11-24Vue CLI学习:初学者指南
- 2024-11-24Vue CLI学习:从入门到上手的简单教程
- 2024-11-24Vue3+Vite学习:从零开始的前端开发之旅
- 2024-11-24Vue3阿里系UI组件学习入门教程
- 2024-11-24Vue3的阿里系UI组件学习入门指南
- 2024-11-24Vue3公共组件学习:新手入门教程
- 2024-11-24Vue3公共组件学习入门指南
- 2024-11-24vue3核心功能响应式变量学习