收藏此站 联系我们 网站
当前位置:首页» 技术日志 » 【建站服务】沈丘网站制作【沈丘网站优化】沈丘建网站、沈丘微信公众号运营、沈丘网页设计、沈丘微信小程序商城-域名申请

【建站服务】沈丘网站制作【沈丘网站优化】沈丘建网站、沈丘微信公众号运营、沈丘网页设计、沈丘微信小程序商城-域名申请

作者: 风兰 . 阅读量: 3 . 发表时间:2022-09-20 15:34:44

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


沈丘网站制作【沈丘网站优化】沈丘建网站、沈丘微信公众号运营、沈丘网页设计、沈丘微信小程序商城

网站建设.jpg

沈丘县古称秣陵,是河南省周口市下辖县,位于河南省东南部,豫皖交界处,居颍水中游,西临项城,东与安徽界首接壤,总面积1080.53平方公里,辖2个街道,15个镇,5个乡,2013年,总人口129.31万人。

2014年,沈丘全县地方生产总值完成204.6亿元,比2013年增长9.3%,总量和增速均居周口全市第三位。 [1] 

2018年8月1日,河南省政府常务会批准沈丘县退出贫困县。 [2] 

河南省召开省政府常务会议,会议批准新县、沈丘县、新蔡县退出贫困县。 [2] 

2018年9月25日,获得商务部“2018年电子商务进农村综合示范县”荣誉称号。 [3]  2019年12月31日,入选全国农村创新创业典型县。


图形变换

从今天开始,我们就开始谈一谈图形变换。图形变换是指用数学方法调整所绘形状的物理属性,其实质是坐标变形。所有的变换都依赖于后台的数学矩阵运算,所以我们只要使用变换的功能即可,无需去理解这些运算。谈到图形变换,不得不得说的三个基本变换方法就是:

  1. 平移变换:translate(x,y)

  2. 旋转变换:rotate(deg)

  3. 缩放变换:scale(sx,sy)

其实坐标变形的本质是变换矩阵,所以在最后我们会谈一谈一个万能的变换方法——矩阵变换transform()。那么,我们按部就班,这一节我们来谈一谈平移变换。

平移变换translate()

平移变换,故名思议,就是一般的图形位移。比如这里我想将位于(100,100)的矩形平移至(200,200)点。那么我只要在绘制矩形之前加上context.translate(100,100)即可。

这里的translate()只传入两个参数,其实就是新画布坐标系原点的坐标。下面结合代码来看看效果。

<!DOCTYPE html><html lang="zh"><head>
    <meta charset="UTF-8">
    <title>平移变换</title>
    <style>
        body { background: url("./images/bg3.jpg") repeat; }        #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }    </style></head><body><div id="canvas-warp">
    <canvas id="canvas">
        你的浏览器居然不支持Canvas?!赶快换一个吧!!    </canvas></div><script>
    window.onload = function(){        var canvas = document.getElementById("canvas");
        canvas.width = 800;
        canvas.height = 600;        var context = canvas.getContext("2d");
        context.fillStyle = "#FFF";
        context.fillRect(0,0,800,600);

        context.fillStyle = "#00AAAA";
        context.fillRect(100,100,200,100);

        context.fillStyle = "red";
        context.translate(100,100);
        context.fillRect(100,100,200,100);

    };</script></body></html>

演示 13-1

运行结果:

平移变换

这里的蓝色矩形,是矩形原来的位置,然后调用translate()方法,将矩形位移至(200,200),即红色矩形的位置。我们来用一张图看看,它是怎么做到平移变换的。

解析平移变换

没错,其实这里的平移变换实质就是在平移坐标系,而对translate()传入的参数,实质就是新坐标系相对于旧坐标系的原点。这使得我们依旧是在(100,100)绘制的红色矩形,在平移坐标系之后,变到了(200,200)处。

注意使用状态保存

其实这里有一个坑,我们如果想把矩形平移至(300,300)怎么办呢?或许我们会想,直接调用context.translate(200,200)就可以了。好,我们看看效果。

<!DOCTYPE html><html lang="zh"><head>
    <meta charset="UTF-8">
    <title>平移变换</title>
    <style>
        body { background: url("./images/bg3.jpg") repeat; }        #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }    </style></head><body><div id="canvas-warp">
    <canvas id="canvas">
        你的浏览器居然不支持Canvas?!赶快换一个吧!!    </canvas></div><script>
    window.onload = function(){        var canvas = document.getElementById("canvas");
        canvas.width = 800;
        canvas.height = 600;        var context = canvas.getContext("2d");
        context.fillStyle = "#FFF";
        context.fillRect(0,0,800,600);

        context.fillStyle = "#00AAAA";
        context.fillRect(100,100,200,100);

        context.fillStyle = "red";
        context.translate(100,100);
        context.fillRect(100,100,200,100);

        context.fillStyle = "green";
        context.translate(200,200);
        context.fillRect(100,100,200,100);

    };</script></body></html>

演示 13-2

运行结果:

图形变换的坑

这里的绿色矩形并没有如我们所愿在(300,300)位置处,而是跑到了(400,400)这里。为什么呢?想必大家已经知道了答案——Canvas是基于状态的绘制。在我们第一次平移之后,坐标系已经在(100,100)处了,所以如果继续平移,这个再基于新坐标系继续平移坐标系。那么要怎么去解决呢?很简单,有两个方法。

第一,在每次使用完变换之后,记得将坐标系平移回原点,即调用translate(-x,-y)

第二,在每次平移之前使用context.save(),在每次绘制之后,使用context.restore()

切记,千万不要再想着我继续紧接着第一次平移之后再平移translate(100,100)不就行了,这样你自己的坐标系就会乱套,根本找不到自己的坐标系原点在哪,在多次变换或者封装函数之后,会坑死你。所以一定要以最初状态为最根本的参照物,这是原则性问题。这里我建议使用第二种方法,而且在涉及所有图形变换的时候,都要这么处理,不仅仅是平移变换

具体使用如下。

<!DOCTYPE html><html lang="zh"><head>
    <meta charset="UTF-8">
    <title>平移变换</title>
    <style>
        body { background: url("./images/bg3.jpg") repeat; }        #canvas { border: 1px solid #aaaaaa; display: block; margin: 50px auto; }    </style></head><body><div id="canvas-warp">
    <canvas id="canvas">
        你的浏览器居然不支持Canvas?!赶快换一个吧!!    </canvas></div><script>
    window.onload = function(){        var canvas = document.getElementById("canvas");
        canvas.width = 800;
        canvas.height = 600;        var context = canvas.getContext("2d");
        context.fillStyle = "#FFF";
        context.fillRect(0,0,800,600);

        context.fillStyle = "#00AAAA";
        context.fillRect(100,100,200,100);

        context.save();
        context.fillStyle = "red";
        context.translate(100,100);
        context.fillRect(100,100,200,100);
        context.restore();

        context.save();
        context.fillStyle = "green";
        context.translate(200,200);
        context.fillRect(100,100,200,100);
        context.restore();

    };</script></body></html>

演示 13-3

运行结果:

状态保存结合图形变换

因此,在使用图形变换的时候,要记得结合使用状态保存

好了,这一节的内容很少,我们继续前进。

关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务