从 Javascript 设置画布属性失败

发布于 2024-09-08 09:22:21 字数 605 浏览 9 评论 0 原文

我必须根据可用的屏幕分辨率为画布元素设置属性“宽度”和“高度”。从 html 中静态设置它们(例如 )。从 Javascript 我做不到。我用谷歌搜索过,但没有找到任何有用的东西。我正在使用 JQuery 并且尝试了以下操作但没有成功(与 height 属性相同)

$('#canv').setAttribute('width',screen.availWidth);
$('#canv').attr('width',screen.availWidth);
$('#canv').data('width',screen.availWidth);
$('#canv').width = screen.availWidth;
$('#canv').css('width',screen.availWidth);

我做了同样的操作 var cv = $('#canv')[0].getContext("2d"); 并用 cv 更改 $('#canv') 但没有结果。

BB

I have to set the attributes 'width' and 'height' for a canvas element, depending on the available screen resolution. Setting them statically from html works (ex. <canvas id="canv" width="1600" ... ). From Javascript I can't do it. I've googled and searched in SO but I didn't find anything that works. I am using JQuery and I've tried unsuccessfully the following (the same for height attribute)

$('#canv').setAttribute('width',screen.availWidth);
$('#canv').attr('width',screen.availWidth);
$('#canv').data('width',screen.availWidth);
$('#canv').width = screen.availWidth;
$('#canv').css('width',screen.availWidth);

I did the same putting var cv = $('#canv')[0].getContext("2d"); and changing $('#canv') with cv but with no result.

bb

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寒江雪… 2024-09-15 09:22:21

我将 jsfiddle.net/pUcjV/2 上的代码更改为

$('#canv').attr("width", screen.availWidth);    
$('#canv').attr("height", screen.availHeight);  
circlesBG (cv, col, screen.availWidth, screen.availHeight);

from

circlesBG (cv, col, screen.availWidth, screen.availHeight);
$('#canv').width(screen.availWidth);    
$('#canv').height(screen.availHeight);    

这在整个画布上产生了星星。这是想要的结果吗?
我使用的是 Chrome 5.0.375.99。

I changed the code on jsfiddle.net/pUcjV/2 to

$('#canv').attr("width", screen.availWidth);    
$('#canv').attr("height", screen.availHeight);  
circlesBG (cv, col, screen.availWidth, screen.availHeight);

from

circlesBG (cv, col, screen.availWidth, screen.availHeight);
$('#canv').width(screen.availWidth);    
$('#canv').height(screen.availHeight);    

This produced stars over the whole canvas. Is this the desired result?
I'm using Chrome 5.0.375.99.

厌味 2024-09-15 09:22:21

您可以这样做,但我不确定屏幕尺寸是否是您想要的:

$('#canv').width(screen.availWidth);​

您可以在此处查看演示

You can do it like this, but I'm not sure if the screen size is what you're after:

$('#canv').width(screen.availWidth);​

You can see a demo here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文