【问题标题】:Jcanvas coordinates don't start at (0,0)Jcanvas 坐标不是从 (0,0) 开始
【发布时间】:2013-12-25 11:42:25
【问题描述】:

我正在尝试了解 HTML 5 画布,尝试使用 jCanvas。 但我遇到了一个奇怪的问题。

我正在尝试使用以下代码绘制一个填充整个画布的矩形:

HTML

<canvas width=600 height=400></canvas>

JS:

var canvas = $("canvas");

//white background in canvas
canvas.drawRect({
        fillStyle: "#FFF",
        x: 0, y: 0,
        width: 600,
        height: 400
 });

这会输出一个矩形,但只有预期大小的一半。如果我将 x,y 坐标更改为半宽/高,那么我会得到预期的结果。但据我了解,x,y 应该从左上角开始,对吧?

Fiddle

【问题讨论】:

    标签: jquery html canvas html5-canvas jcanvas


    【解决方案1】:

    我找到了答案。 显然画布需要一个额外的参数来计算从左上角而不是中心的坐标。

    我把js代码改成:

    var canvas = $("canvas");
    //white background in canvas
    canvas.drawRect({
            fillStyle: "#FFF",
            x: 0, y: 0,
            width: 600,
            height: 400,
            fromCenter: false
        });
    

    现在它按预期工作了!

    你也可以通过调用这个方法来改变默认行为:

    $.jCanvas({
        fromCenter: false
    });
    

    在脚本的开头

    【讨论】:

    • 不错的发现。你应该接受你自己的答案。这样问题就结束了。
    • 我知道,但我不能在两天内完成!
    猜你喜欢
    • 1970-01-01
    • 2012-12-21
    • 2014-02-28
    • 2022-01-09
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    相关资源
    最近更新 更多