將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