用Js+css3实现图片旋转,缩放,裁剪,滤镜
还是前端图片的老话题,花了半天时间,东拼西凑,凑出个demo,优点在于代码少,核心代码就6行,目前刚做了旋转,缩放,裁剪,滤镜要js做,网络上也有现成的代码,
但是想做到自定义的滤镜咋办呢?这还要从底层了解滤镜的实现才行~实际上,我们无论用C++,还是java实现了滤镜,都能移植到js端,原理是相通的。
总之,再次强调,原理很重要,掌握了原理,你就可以任性了。
可以放到http://runjs.cn/里做验证,好棒的在线工具~
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>js+css3</title>
</head>
<style type="text/css">
.clipzone
{
position:relative;
width:400px;
height:400px;
overflow:hidden;
}
.clipped
{
position:absolute;
}
</style>
<body>
<input type="button" value="rotate" onclick="rotate(20);"/>
<input type="button" value="scale" onclick="scale(1.5);"/>
<input type="button" value="clip" onclick="clip();"/>
<input type="button" value="support_canvas_test" onclick="support_canvas_test();"/>
<div class="clipzone" id="testdiv">
<img class="clipped" id="image1" src="http://www.artup.com/img/icon35.png" width="282" height="220" >
</div>
<script type="text/javascript">
var totalrotate = 0;
var totalscale = 0;
function rotate(sum){
totalrotate = totalrotate + sum;
var obj=document.getElementById("image1");
obj.style.webkitTransform="rotate("+totalrotate+"deg)";
}
function scale(sum){
totalscale = totalscale + sum;
var obj=document.getElementById("image1");
obj.style.webkitTransform="scale("+totalscale+")";
}
function clip(){
var obj=document.getElementById("image1");
obj.style.clip = "rect(20px, auto, auto, 10px)";
}
function support_canvas_test(){
var elem = document.createElement('canvas');
var context = elem.getContext('2d');
alert(typeof context.fillText === 'function'?"support":"not support");
}
var support_css3 = (function() {
var div = document.createElement('div'),
vendors = 'ms o moz webkit'.split(' '),
len = vendors.length;
return function(prop) {
if ( prop in div.style ) return true;
len = vendors.length;
while(len--) {
if ( vendors[len] + prop in div.style ) {
return true;
}
}
return false;
};
})();
</script>
</body>
</html>
用Js+css3实现图片旋转,缩放,裁剪,滤镜的更多相关文章
- 基于HTML5+CSS3的图片旋转、无限滚动、文字跳动特效
本文分享几种基于HTML5+CSS3实现的一些动画特效:图片旋转.无限滚动.文字跳动;实现起来均比较容易,动手来试试! 一.图片旋转 效果图如下: 这个效果实现起来其实并不困难.代码清单如下: < ...
- iOS transform解决连续多次旋转缩放,实现图片旋转缩放效果
一.需求 实现imageView的缩放旋转效果,一般有两种方式: 1.底层加scrollview,利用scrollview的属性实现.(推荐这种,这是我比较后发现的,手势做缩放旋转会有点弊端) 2.利 ...
- 原生js+css3实现图片自动切换,图片轮播
运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...
- Android图片旋转,缩放,位移,倾斜,对称完整示例(一)——imageView.setImageMatrix(matrix)和Matrix
MainActivity如下: import android.os.Bundle; import android.view.MotionEvent; import android.view.View; ...
- JS实现网页背景旋转缩放轮播效果
实现效果:效果预览 css代码: .switch_images { display: inline-block; margin:; padding:; width: 100%; height: 100 ...
- Android图片旋转,缩放,位移,倾斜,对称完整演示样例(一)——imageView.setImageMatrix(matrix)和Matrix
MainActivity例如以下: import android.os.Bundle; import android.view.MotionEvent; import android.view.Vie ...
- 【js】js 让图片旋转
转http://www.cnblogs.com/ustcyc/p/3760116.html 核心: canvas.style.filter = "progid:DXImageTransfo ...
- js手写图片查看器(图片的缩放、旋转、拖拽)
在做一次代码编辑任务中,要查看图片器.在时间允许的条件下,放弃了已经封装好的图片jq插件,现在自己手写js实现图片的缩放.旋转.推拽功能! 具体代码如下: <!DOCTYPE html> ...
- js实现图片查看器(图片的缩放、旋转、拖拽)
一.关于图片查看器. 目前网络上能找到的图片查看器很多,谁便一搜就能出来.如:jquery.iviewer.js.Viewer.js这两个js文件,其中功能也足够满足大部分开发需求.但是单纯的就想实现 ...
随机推荐
- iScroll.js和swiper.js
最近系统地学习了iScroll.js和swiper.js,感觉它们在移动端特别好用:http://www.360doc.com/content/14/0724/11/16276861_39669990 ...
- [转]Android Studio系列教程六--Gradle多渠道打包
转自:http://www.stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/ Android Studio系列教程六--Grad ...
- openstack搭建配置
安装和配置网络节点vim /etc/sysctl.confnet.ipv4.ip_forward=1net.ipv4.conf.all.rp_filter=0net.ipv4.conf.default ...
- 如何把自己打造成技术圈的papi酱
最近半年,一个叫papi酱的平胸女子连续在微博.朋友圈.创业圈刷屏,当之无愧成了中文互联网的第一大网红.呃,你以为我会巴拉巴拉说一堆网工创业的事?NO,今天想借papi酱的话题跟大家一起聊聊程序员如何 ...
- Linux 下修改配置实现在当前目录下寻找可执行文件
# vim .bash_profile 添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. # vreboot
- 夺命雷公狗-----React---13--事件监听
在react中事件监听直接作为组建的属性来添加即可,就像DOM中的html操作 <!DOCTYPE> <html> <head> <meta charset= ...
- JAVA下的Thread.sleep方法一定要try
try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } 不同于C#,JAVA里的Thre ...
- maven私有库配置
私有库的配置 协同开发过程中私有库可以为团队提升很大效率,之前我的私有库一直存在问题导致jar包导入异常.现在在这分享一下私有库配置的几个点,可能因为我们学校比较简陋所以配置的比较简单,欢迎大家补充 ...
- C#:涉及DPI的高分辨率下的显示问题
一.背景 在PC机上显示正常,在高分辨率下的Pad上,显示出现问题: 1.显示在屏幕最右端的窗体(控件)显示不出来: 2.截图时,被截图的界面字体文字变大,界面因此显示不全. 二.解决方法: 方法一: ...
- html里面的相对路径和绝对路径
HTML有两种路径的写法:相对路径和绝对路径. 相对路径是在同一个目录的文件引用,如果源文件和引用文件在同一个目录里,直接写引用文件名即可. 如: a.html: c:\test\menu\a ...