SVG特效&canvas特效

SVG特效

<!DOCTYPE html>
<meta charset="utf-8">
<style>
    rect {
      fill: #fff;
      stroke: #000;
    }
</style>
<svg width="960" height="500">
    <defs>
        <clipPath id="clip-upper">
            <rect width="960" height="305" x="-480" y="-305"></rect>
        </clipPath>
        <clipPath id="clip-lower">
            <rect width="960" height="195" x="-480" y="0"></rect>
        </clipPath>
    </defs>
    <g clip-path="url(#clip-upper)" transform="translate(480,305)"></g>
    <g clip-path="url(#clip-lower)" transform="translate(480,305)"></g>
</svg>
<script src="//d3js.org/d3.v3.min.js"></script>
<script>
    var width = 960,
        height = 500,
        triangleSize = 400,
        squareCount = 71,
        squareSize = 90,
        speed = .08;
    var square = d3.selectAll("g")
        .selectAll("g")
        .data(function(d, i) {
            return i ? [0, 1, 2] : [2, 0, 1];
        })
        .enter().append("g")
        .attr("transform", function(i) {
            return "rotate(" + (i * 120 + 60) + ")translate(0," + -triangleSize / Math.sqrt(12) + ")";
        })
        .selectAll("rect")
        .data(d3.range(squareCount))
        .enter().append("rect")
        .datum(function(i) {
            return i / squareCount;
        })
        .attr({
            width: squareSize,
            height: squareSize,
            x: -squareSize / 2,
            y: -squareSize / 2
        });
    d3.timer(function(elapsed) {
        square
            .attr("transform", function(t) {
                return "translate(" + (t - .5) * triangleSize + ",0)rotate(" + (t * 120 + elapsed * speed) + ")";
            });
    });
</script>

canvas特效

下载地址:http://download.csdn.net/detail/cometwo/9462522


滤镜


<!DOCTYPE html>
<html>

    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body style="background: black;">

        <canvas id="canvas" style="display:block;margin:60px auto;border:1px solid red;">
            您的浏览器尚不支持canvas
        </canvas>
        <input type="range" id="scale-range" min="0.5" max="3.0" step="0.01" value="1.0" style="display:block;margin:20px auto;width:500px" />

        <script>
            var canvas = document.getElementById("canvas")
                    var context = canvas.getContext("2d")
                    var slider = document.getElementById("scale-range")
                    var image = new Image()

                    window.onload = function(){

                        canvas.width = 900
                        canvas.height = 400

                        var scale = slider.value
                        image.src = "img-lg.jpg"
                        image.onload = function(){
                            drawImageByScale( scale )

            //                slider.onchange = function(){
            //                    scale = slider.value
            //                    drawImage( image , scale )
            //                }

                            slider.onmousemove = function(){
                                scale = slider.value
                                drawImageByScale( scale )
                            }
                        }

                    }

                    function drawImageByScale( scale ){

                        var imageWidth = 1152 * scale
                        var imageHeight = 768 * scale

                        //var sx = imageWidth / 2 - canvas.width / 2
                        //var sy = imageHeight / 2 - canvas.height / 2

                        //context.drawImage( image , sx , sy , canvas.width , canvas.height , 0 , 0 , canvas.width , canvas.height )
                        x = canvas.width /2 - imageWidth / 2
                        y = canvas.height / 2 - imageHeight / 2

                        context.clearRect( 0 , 0 , canvas.width , canvas.height )
                        context.drawImage( image , x , y , imageWidth , imageHeight )
                    }
        </script>
    </body>

</html>
时间: 2024-08-04 05:01:40

SVG特效&amp;canvas特效的相关文章

FrontPage也玩特效,制作网页特效

frontpage|特效|网页|网页特效 在制作网页的时候,如果给网页增加一些实用的小技巧,那一定会给你的网站增色不少,下面就介绍几个FrontPage的小技巧,希望能对你有帮助. 特效按钮的制作 用一般的方法制作网页中的按钮,一点也不好看,还是用个FrontPage来制作一个特效按钮吧. 1.打开FrontPage,点击菜单"插入-Web组件". (图1) 图1 2.在弹出的对话框中选择组件类型为"动态效果",效果为"悬停按钮".(图2) 图2

Web Chart入门(1) Web端图形绘制SVG,VML, HTML5 Canvas技术比较

先介绍一下矢量图的概念: 矢量图使用直线和曲线来描述图形,这些图形的元素是一些点.线.矩形.多边形.圆和弧线等等,它们都是通过数学公式计算获得的.例如一幅花的矢量图形实际上是由线段形成外框轮廓,由外框的颜色以及外框所封闭的颜色决定花显示出的颜色. SVG,VML, HTML5 Canvas  这三个技术绘制的都是矢量图. 只是由不同的厂商开发出来的. 要达成的效果基本是一样的. 1. VML 全称Vector Markup Language(矢量可标记语言). 是微软1999年9月附带IE5.0

jquery特效与其他特效冲突

问题描述 jquery特效与其他特效冲突 这个特效http://www.lanrenzhijia.com/js/css3/2903.html 与其他特效结合就失效了,就是jquery.custom.js里面的noConflict冲突,不知道怎么改

2.CCGridAction(3D效果),3D反转特效,凸透镜特效,液体特效,3D翻页特效,水波纹特效,3D晃动的特效,扭曲旋转特效,波动特效,3D波动特效

 1 类图组织 2 实例 CCSprite * spr = CCSprite::create("HelloWorld.png"); spr->setPosition(ccp(winSize.width/2,winSize.height/2)); addChild(spr);   //GridAction //CCFlipX3D * action = CCFlipX3D::create(2); //CCFlipY3D * action = CCFlipY3D::create(2

HTML5中如何绘制SVG内容到Canvas

SVG与Canvas是HTML5上绘制图形应用的两种完全不同模式的技术,两种绘制图形方式各有优缺点,但两者并非水火不容,尤其是SVG内容可直接绘制在Canvas上的功能,使得两者可以完美的融合在一起,让Canvas可享用到现有丰富的SVG素材,并不失SVG矢量无级缩放的特点. 普通图片的格式数据为data:image/png类型,而SVG格式的数据类型为data:image/svg+xml的类型,下图为该HT for Web拓扑图拖拽入SVG格式图片的运行效果: 以下一段小例子,展示了加载一个S

Web Chart入门(2) Web端图形绘制SVG,VML, HTML5 Canvas简单实例

VML 的用法和实例 引入命名空间之后,就可以直接使用标签的方式绘制图形. 如下例:绘制一条从 坐标(20,20) 到 坐标(200,200) 的直线. <HTML xmlns:v = "urn:schemas-microsoft-com:vml"> <HEAD><TITLE>VML Example</TITLE> <META http-equiv=Content-Type content="text/html; char

edius自带特效面板之特效该怎么用?

  edius作为一款基础的视频编辑软件,其特效制作能力相对较差,很多较为高大上的特效是它不能完成的,但是作为一款基础的视频编辑软件,它自带的特效已经可以满足大多数视频制作的需求了.edius软件的特效是复杂多样的, 我首先向大家介绍一下edius的特效面板. 1.可以看到edius特效大致分为5类,系统预设.视音频滤镜.转场/音频淡入淡出.字幕混合.键5类特效. 2.系统预设的特效是最简单的部分,用到的时候较少,使用也十分简单,特效的名称就是特效的结构描述. 3.视音频滤镜是edius自带的一

Js文字背景行如流水特效_文字特效

行如流水的Js文字背景特效[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

js特效代码:js特效

<!--图片放大--><!-- two steps to install image resizer - drag and drop: 1. copy the coding into the head of your html document 2. add the last code into the body of your html document --><!-- step one: paste this code into the head of your html