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>
目录
相关文章
|
3月前
|
前端开发 JavaScript API
【HTML】SVG实现炫酷的描边动画
今天闲来无事,看到Antfu大佬的个性签名,觉得还是非常炫酷的,于是也想要搞一个自己的个性签名用来装饰自己的门面,不过由于手写的签名太丑了,遂放弃。于是尝试理解原理,深入研究此等密法,终于小有所成,发现原来是描边动画,于是记载如下,方便日后借鉴。
49 3
|
9月前
SVG SMIL 动画(基本动画 、变换动画)
SVG SMIL 动画(基本动画 、变换动画)
31 0
|
11月前
|
前端开发
css实现画面转场以及边框线条动画
css实现画面转场以及边框线条动画
176 0
|
前端开发
你可以学会的svg动画
你可以学会的svg动画
|
XML 前端开发 JavaScript
你可以学会的svg动画(SMIL)
你可以学会的svg动画(SMIL)
html+css实战170-css精灵-背景图的缩放
html+css实战170-css精灵-背景图的缩放
94 0
html+css实战170-css精灵-背景图的缩放
|
前端开发
CSS 轻松制作 SVG 动画
如果从未在前端使用过 SVG,那么就错过了很多改善性体验,如果不知道如何使用 SVG 制作动画,那么将错过更多。本文开始制作第一个 SVG 图形,为其添加动画。
618 0
CSS 轻松制作 SVG 动画
|
Web App开发 前端开发 JavaScript
使用WebGL + Three.js制作动画场景
使用WebGL + Three.js制作动画场景 3D图像,技术,打造产品,还有互联网:这些只是我爱好的一小部分。 现在,感谢WebGL的出现-一个新的JavaScriptAPI,它可以在不依赖任何插件的情况下渲染浏览器中的3D图像-这让3D渲染操作变得异常简单。
2094 0
|
Web App开发 存储 人工智能