哪种jQuery方法创建一定大小的画布具有最佳性能?

时间:2013-07-17 21:10:49

标签: javascript jquery canvas

我想做的是使用jQuery创建一个15 x 15像素大小的画布,我正在寻找一种优雅的方法来实现它。

我目前使用jQuery创建一个画布:

var canvasNode = $('<canvas />', {
  style:'display:block',
  width:15,
});

// canvasNode[0].width=15;
canvasNode[0].height=15;

一个奇怪的是,width:15中的style:'display:block;width:15px;'没有效果,而下面当前注释掉的行做了我想要做的事情。我也试过{{1}},但是当画布显示宽度为15px的画布时,画布本身保持其较大的默认大小,因此它只是缩放,所以这不是我所寻求的。

2 个答案:

答案 0 :(得分:2)

如果你真的担心性能,这是最快的方法(未经测试,但我确定是这样):

var canvas = document.createElement("canvas");
canvas.width = 15;
canvas.height = 15;

也就是说,根本就没有jQuery。

答案 1 :(得分:1)

请注意,发送具有width属性的对象会将css宽度设置为15px(基本上只是缩放画布),如果未指定width属性,仍将使用默认的像素数创建画布,通常是300像素。

只需设置宽度和高度属性:

$('<canvas />', {
  style:'display:block'
}).attr('width', 15).attr('height', 15);