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>
目录
相关文章
|
6月前
|
移动开发 前端开发 JavaScript
纯JavaScript实现HTML5 Canvas六种特效滤镜
纯JavaScript实现HTML5 Canvas六种特效滤镜
169 6
|
7月前
|
Web App开发 编解码 前端开发
webgl canvas系列——快速加背景、抠图、加水印并下载图片
webgl canvas系列——快速加背景、抠图、加水印并下载图片
249 8
webgl canvas系列——快速加背景、抠图、加水印并下载图片
|
7天前
|
前端开发
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
11 0
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
|
27天前
|
前端开发 JavaScript API
如何使用 Canvas 实现复杂的动画效果?
【10月更文挑战第24天】使用Canvas实现复杂的动画效果,需要综合运用JavaScript、数学知识以及对Canvas API的深入理解。
55 2
|
27天前
|
XML 前端开发 JavaScript
如何使用 SVG 和 Canvas 来创建动画?
【10月更文挑战第24天】使用 SVG 和 Canvas 创建动画都有各自的特点和优势,SVG 更适合基于 XML 和 CSS 的简单动画,而 Canvas 则更适合通过 JavaScript 实现复杂的、高性能的动画效果。在实际应用中,可以根据具体的需求和场景选择合适的技术来创建动画。
39 1
|
6月前
|
前端开发
canvas与CreateJS实现图片动画
canvas与CreateJS实现图片动画
|
前端开发
你可以学会的svg动画
你可以学会的svg动画
|
前端开发 JavaScript
JS使用canvas实现(下雨天)特效
今天利用canvas实现一个简单的下雨天的网页案例!
176 0
JS使用canvas实现(下雨天)特效
|
前端开发
CSS 轻松制作 SVG 动画
如果从未在前端使用过 SVG,那么就错过了很多改善性体验,如果不知道如何使用 SVG 制作动画,那么将错过更多。本文开始制作第一个 SVG 图形,为其添加动画。
716 0
CSS 轻松制作 SVG 动画
|
前端开发 JavaScript 安全
Canvas生成缩略图
Canvas生成缩略图
440 0