0

我试图在画布中创建矩形,我对画布的坐标系有点困惑

    <!doctype html>

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>jQuery UI Dialog - Modal form</title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <style>
        body{
        background-color:  #231F20;    
        }
        #ribbonid{
            width:90px;
            height: 90px;
        }
    </style>    
</head>
<body> 
<canvas id='ribbonid' > </canvas> 
<script>
    $(document).ready(function(){
var $ribbonid = $('#ribbonid');
 // get the canvas element using the DOM
  var canvas = document.getElementById('ribbonid');

  // Make sure we don't execute when canvas isn't supported
  if (canvas.getContext){

    // use getContext to use the canvas for drawing

    var cts = canvas.getContext('2d');

    cts.fillStyle   = '#f7911e';   


    cts.beginPath();
    cts.moveTo(0, 0);
    cts.lineTo(90, 0);
    cts.lineTo(90, 90);
    cts.lineTo(0, 90);
    cts.lineTo(0, 0);
    cts.fill();    
    cts.closePath();    
  }        
    });

</script>
</body>
</html>

http://jsfiddle.net/bkf2e/

我知道 canvas.rect 功能,但我需要为我创建一些不同的形状。我创建了大小为(90,90)(正方形)的矩形,但它正在创建完整的正方形。 在此处输入图像描述

我知道这可能是我的简单错误,但你能帮我解决这个问题吗?

4

2 回答 2

2

您需要使用 width 和 height 属性设置画布的大小,如果您使用 css 来调整它的大小,那么它将缩放默认大小而不是成为您想要的大小,这就是它被这样扭曲的原因。

我已经用属性集更新了你的 jsfiddle,你会看到它现在是方形的。

于 2012-12-07T04:42:21.260 回答
0

解决了问题,

这是宽度和高度属性的愚蠢错误

<canvas id='ribbonid' width='90' height='90' > </canvas> 
于 2012-12-07T04:44:09.063 回答