将canvas中左上角的原点坐标位置改为左下角


在使用canvas的时候,原点坐标在左上角,这个很犯人,因为一般的坐标基本都是在左下角,即笛卡尔坐标系,那怎么进行转变呢,在这里用到了canvas的translate,rotate,和scale进行转换,话不多说,上代码:

<!DOCTYPE html>
<html lang="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<head>
    <title>笛卡尔坐标系</title>
</head>

<body onload="draw()">
<canvas id="myCanvus" width="440px" height="240px" style="border:1px dashed black;">
    出现文字表示你的浏览器不支持HTML5
</canvas>
</body>
</html>
<script type="text/javascript">
    <!--
    function draw(){
        var canvas=document.getElementById("myCanvus");
        var canvasWidth=440;
        var canvasHeight=240;

        var context=canvas.getContext("2d");

        context.fillStyle = "white";
        context.fillRect(0, 0, canvasWidth, canvasHeight);

        context.strokeStyle = "black";
        context.fillStyle = "black";

        context.save();

        // 进行坐标变换:把原点放在左下角,东方为X轴正向,北方为Y轴正向

        context.save();
        context.translate(0,canvasHeight);
        context.rotate(getRad(180));
        context.scale(-1,1);


        // 画折线
        context.beginPath();
        context.moveTo(0, 0);
        context.lineTo(50, 50);
        context.stroke();
        context.closePath();

        context.restore();

    }

    function getRad(degree){
        return degree/180*Math.PI;
    }
    //-->
</script>

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 我的border能自定义四角之border-radius : 左上角,右上角,左下角,右下角。 QWidget居中显示(qt窗口坐标原点是在”左上角”的,有图) 不同路径II(一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。) 从棋盘左上角到右下角共有多少种走法 多级iframe中,获取元素相对于浏览器左上角的坐标(非当前frame) 矩形类中运算符重载C++(定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数、输入坐标的函数,实现矩形加法,以及计算并输出矩形面积的函数。) 通过css将元素固定在左下角 iPhone左下角app图标 通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用 矩形的左上角坐标来标识,包含: 添加两个属性:矩形左上角坐标startX和startY。 两个构造方法: 带4个参数的构造方法,用于对startX、startY、width和height属性 初始化; 不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0 的矩形; 添加一个方法: 判断某个点是否在矩形内部的方法 百度地图 解决:坐标点跑到左上角的问题
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM