1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 如何在div内部实现图片旋转 放大 缩小 拖拽

如何在div内部实现图片旋转 放大 缩小 拖拽

时间:2023-10-21 09:15:02

相关推荐

如何在div内部实现图片旋转 放大 缩小 拖拽

web前端|css教程

旋转,图片,实现

web前端-css教程

药药,切克闹,一人我编码累,累把那bug写成堆。秋高气爽空气干燥你一定dei多喝水,过完了这周我就要回去、趁还有几天、你尽情的来跟我怼~~~

源码 弹出表单,vscode没有图标扩展,ubuntu复制.kai,tomcat中ajp协议,parser爬虫,php 变量自增,营销策划seo 排名,门户分类网站源码,苹果cms模板网站源码lzw

新的一年,很久没更博客了,眼看十一要来了,听说过了十一就等过年了,但是感觉刚过完年一样,心里黯然神伤,更博一篇以表对小白驹过隙之神速聊以慰藉下……

文章管理源码商业版,vscode新建代码段,ubuntu 怎么删除,tomcat该装哪个版本,r 爬虫 selenium,淘宝开放平台 php,安徽省seo优化平台,文章站手机版网站程序源码,企业模板_欧美简约lzw

在开发中这样一个场景,web应用程序某处功能会接收来自各个户上传的图片,后台有个图片查看功能,实际生产过程中的结果出现了用户上传的图片是倒转的或者图片因为远距离拍摄上传的比较模糊的情况。

在线证书查询系统源码,ubuntu访问群晖,tomcat9建立虚拟路径,淘宝爬虫 中文乱码,软件应用商店php源码,seo sem总结lzw

1、解决图片角度的问题

大概原理很简单,切换HTML元素对象(图片)的class。如下CSS代码:

.rot1 { transform:rotate(90deg); filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}.rot2 { transform:rotate(180deg); filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}.rot3 { transform:rotate(270deg); filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}

再添加简单的JavaScript代码——根据是向左转还是向右转动态改变class的名称就行了。再次提示下,IE8浏览器是使用的是-ms-filter直接filter没有效果。

这里使用的是CSS3+filter滤镜的方法,所以低版本的Firefox以目前版本的Opera浏览器下式没有效果的。但绝对适用于90%以上的互联网用户了。

2、图片放大缩小

即为调整图片的宽和高。如下核心代码

//放大缩小图片 function imgToSize(size) { var img = $("#rotImg"); var oWidth = img.width(); //取得图片的实际宽度 var oHeight = img.height(); //取得图片的实际高度 img.width(oWidth + size); img.height(oHeight + size / oWidth * oHeight);}

3、区域内拖动图片

图片放大超过父级容器时,支持图片在容器内拖动,在mousedown的条件下绑定mousemove,计算拖拽区域大小,核心代码如下:

$(document).bind(mousemove.imgview, function (event) { if ($img.data(mousedown)) { var dx = event.pageX - settings[pageX]; var dy = event.pageY - settings[pageY]; if ((dx == 0) && (dy == 0)) { return false;}var newX = parseInt($img.css(left)) + dx; if (newX > 0) newX = 0; if (newX 0) newY = 0; if (newY = $img.width()) { newX = settings[width] / 2 - $img.width() / 2;}if (settings[height] >= $img.height()) { newY = settings[height] / 2 - $img.height() / 2;}$img.css(left, newX + px); $img.css( op, newY + px); settings[pageX] = event.pageX; settings[pageY] = event.pageY; $img.data(cannot_minimize, true);}return false;});

4、综合功能实现代码如下,运行请底部下载demo

Title.rot1 { -moz-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); -ms-filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}.rot2 { -moz-transform: rotate(180deg); -webkit-transform: rotate(180deg); transform: rotate(180deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); -ms-filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}.rot3 { -moz-transform: rotate(270deg); -webkit-transform: rotate(270deg); transform: rotate(270deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); -ms-filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}#imageView_container { border: 2px solid #000000;}

$(function () { var param = { right: document.getElementById("rotRight"), left: document.getElementById("rotLeft"), img: document.getElementById("rotImg"), rot: 0}; var fun = { right: function () { param.rot += 1; param.img.className = "rot" + param.rot; if (param.rot === 3) { param.rot = -1;}}, left: function () { param.rot -= 1; if (param.rot === -1) { param.rot = 3;}param.img.className = "rot" + param.rot;}}; param.right.onclick = function () { fun.right(); return false;}; param.left.onclick = function () { fun.left(); return false;}; $(#imageView_container).imageView( { width: 800, height: 500});}); var size = 0; //放大缩小图片 function imgToSize(size) { var img = $("#rotImg"); var oWidth = img.width(); //取得图片的实际宽度 var oHeight = img.height(); //取得图片的实际高度 img.width(oWidth + size); img.height(oHeight + size / oWidth * oHeight);}

5、最终效果下图例:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。