HTML5:画布的宽度和高度

阿隆

考虑:

<canvas id="myCanvas" width="200" height="300" />

这些单位是像素吗?如果没有,是否有解决方法来更改它?

用户名

是的,这些单位始终以像素为单位,并且适用于canvas元素使用位图但是,如果没有使用CSS在元素上定义大小(即style属性或样式表),则元素将自动采用其位图的大小。

除了按像素数设置外,没有其他方法可以设置位图的大小。使用CSS只会更改元素本身的大小,而不会更改位图,而是将绘制到位图上的所有内容拉伸为适合元素的大小。

要使用其他单位,您将必须使用JavaScript手动计算这些单位,例如:

// using % of viewport for canvas bitmap (pixel ratio not considered)
var canvas    = document.getElementById("myCanvas"),
    vwWidth   = window.innerWidth,
    vwHeight  = window.innerHeight,
    percent   = 60;

canvas.width  = Math.round(vwWidth  * percent / 100);  // integer pixels
canvas.height = Math.round(vwHeight * percent / 100);

// not to be confused with the style property which affects CSS, ie:
// canvas.style.width = "60%"; // CSS only, does not affect bitmap

如果要支持视网膜,则需要使用,window.devicePixelRatio然后将其乘以大小。在这种情况下,CSS也将是必需的(与上面的代码结合使用):

var pxRatio = window.devicePixelRatio || 1,
    width   = Math.round(vwWidth  * percent / 100), 
    height  = Math.round(vwHeight * percent / 100);

canvas.width  = width  * pxRatio;
canvas.height = height * pxRatio;

canvas.style.width  = width + "px";
canvas.style.height = height + "px";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTML5画布100%的高度和宽度

来自分类Dev

将HTML5画布缩放为div的宽度和高度

来自分类Dev

HTML5画布的高度和宽度100%扭曲了游戏动画

来自分类Dev

HTML5 Canvas Arc的形状取决于画布的宽度和高度

来自分类Dev

将HTML5画布缩放为div的宽度和高度

来自分类Dev

在画布HTML5中查找上传的宽度和高度的图像(使用文件阅读器)

来自分类Dev

无法在Firefox中将SVG绘制到HTMl5画布(即使设置了高度和宽度)

来自分类Dev

HTML5视频标签的宽度和高度

来自分类Dev

HTML5视频适合宽度或高度

来自分类Dev

如何根据图片的大小设置html5 camvas的图像宽度和高度?

来自分类Dev

HTML5表单检查图像的宽度和高度,如果较大,则发出警报

来自分类Dev

如何获取HTML5 Canvas中绘制弧的宽度和高度?

来自分类Dev

全宽度和一定高度的HTML5视频播放

来自分类Dev

如何根据图片的大小设置html5 camvas的图像宽度和高度?

来自分类Dev

HTML5表单检查图像的宽度和高度,如果较大,则发出警报

来自分类Dev

HTML画布中的宽高比,高度/宽度

来自分类Dev

html5标签的iframe标签中可以提供高度和宽度百分比吗?

来自分类Dev

html5标签的iframe标签中可以提供高度和宽度百分比吗?

来自分类Dev

HTML5画布混合和IE / Edge

来自分类Dev

HTML5:画布和图片大小

来自分类Dev

HTML5 图形 SVG、画布和 CSS

来自分类Dev

HTML5 画布绘图未清除和校准关闭

来自分类Dev

onmouse画布HTML5

来自分类Dev

画布HTML5效果

来自分类Dev

html2canvas创建一个宽度和高度为零的画布吗?

来自分类Dev

使用wordcloud2.js的响应宽度(画布html5元素)

来自分类Dev

为什么这两个宽度和高度相同的 HTML 画布返回第二个的高度不同?

来自分类Dev

将画布划分为相同宽度和高度的空间

来自分类Dev

画布宽度和高度均为100%时质量不佳

Related 相关文章

  1. 1

    HTML5画布100%的高度和宽度

  2. 2

    将HTML5画布缩放为div的宽度和高度

  3. 3

    HTML5画布的高度和宽度100%扭曲了游戏动画

  4. 4

    HTML5 Canvas Arc的形状取决于画布的宽度和高度

  5. 5

    将HTML5画布缩放为div的宽度和高度

  6. 6

    在画布HTML5中查找上传的宽度和高度的图像(使用文件阅读器)

  7. 7

    无法在Firefox中将SVG绘制到HTMl5画布(即使设置了高度和宽度)

  8. 8

    HTML5视频标签的宽度和高度

  9. 9

    HTML5视频适合宽度或高度

  10. 10

    如何根据图片的大小设置html5 camvas的图像宽度和高度?

  11. 11

    HTML5表单检查图像的宽度和高度,如果较大,则发出警报

  12. 12

    如何获取HTML5 Canvas中绘制弧的宽度和高度?

  13. 13

    全宽度和一定高度的HTML5视频播放

  14. 14

    如何根据图片的大小设置html5 camvas的图像宽度和高度?

  15. 15

    HTML5表单检查图像的宽度和高度,如果较大,则发出警报

  16. 16

    HTML画布中的宽高比,高度/宽度

  17. 17

    html5标签的iframe标签中可以提供高度和宽度百分比吗?

  18. 18

    html5标签的iframe标签中可以提供高度和宽度百分比吗?

  19. 19

    HTML5画布混合和IE / Edge

  20. 20

    HTML5:画布和图片大小

  21. 21

    HTML5 图形 SVG、画布和 CSS

  22. 22

    HTML5 画布绘图未清除和校准关闭

  23. 23

    onmouse画布HTML5

  24. 24

    画布HTML5效果

  25. 25

    html2canvas创建一个宽度和高度为零的画布吗?

  26. 26

    使用wordcloud2.js的响应宽度(画布html5元素)

  27. 27

    为什么这两个宽度和高度相同的 HTML 画布返回第二个的高度不同?

  28. 28

    将画布划分为相同宽度和高度的空间

  29. 29

    画布宽度和高度均为100%时质量不佳

热门标签

归档