当前位置: 首页 > 编程笔记 >

html5-canvas 创建响应式全页画布

韦睿
2023-03-14
本文向大家介绍html5-canvas 创建响应式全页画布,包括了html5-canvas 创建响应式全页画布的使用技巧和注意事项,需要的朋友参考一下

示例

入门代码,用于创建和删除整页画布,该画布通过javascript响应调整大小事件。

var canvas;    // 全局画布参考
var ctx;       // 全局2D上下文参考
// 创建一个画布
function createCanvas () {                
    const canvas = document.createElement("canvas"); 
    canvas.style.position = "absolute"; // 设定风格 
    canvas.style.left     = "0px";      // 位置在左上方
    canvas.style.top      = "0px";
    canvas.style.zIndex   = 1;        
    document.body.appendChild(canvas);  // 新增至文件
    return canvas;
}
//调整画布大小。如果不存在,将创建一个画布
function sizeCanvas () {                
    if (canvas === undefined) {         // 检查全局画布参考
        canvas = createCanvas();        // 创建一个新的canvas元素
        ctx = canvas.getContext("2d");  // 获取2D上下文
    }
   canvas.width = innerWidth;         // 设置画布分辨率以填充页面
   canvas.height= innerHeight;        
}
// 删除画布
function removeCanvas () {
    if (canvas !== undefined) {              // 确保有东西要去除
        removeEventListener("resize", sizeCanvas); // 删除大小调整事件
        document.body.removeChild(canvas);   // 从DOM中删除画布
        ctx = undefined;                     // 取消引用上下文
        canvas = undefined;                  // 取消引用画​​布
     }
}

// 添加调整大小的侦听器
addEventListener("resize", sizeCanvas); 
// 调用sizeCanvas创建和设置画布分辨率
sizeCanvas();
// 现在可以使用ctx和canvas。

如果您不再需要画布,可以通过调用将其删除 removeCanvas()

jsfiddle上的此示例演示

 类似资料:
  • 创建一个Canvas画布,用于显示WebGL的渲染结果,canvas元素和div等元素一样是HTML的一个元素,只是Canvas画布具有2D和3D绘图功能。 <!--canvas标签创建一个宽高均为500像素,背景为蓝色的矩形画布--> <canvas id="webgl" width="500" height="500" style="background-color: blue"></canv

  • 本文向大家介绍html5-canvas 如何将Html5画布元素添加到网页,包括了html5-canvas 如何将Html5画布元素添加到网页的使用技巧和注意事项,需要的朋友参考一下 示例 HTML5-Canvas ... 是Html5元素。 大多数现代浏览器(Internet Explorer 9+)支持。 是默认情况下透明的可见元素 默认宽度为300px,默认高度为150px。 需要JavaS

  • 画布中的动画与一般的动画在理论上并没有太大的区别。动画的本质就是一连串的图像,每个图像之间的差别非常微小, 并且它们以极快的速度连续显示,每秒钟显示的图像非常多,人的肉眼通常认为自己看到的是一个正在运动的物体,而不是一张张连续显示的静态图像。 其原理就像你在学校读书时翻书一样,如果你翻书的速度足够快,一些小图形看上去就好像在运动。 仔细思考一下,你就会发现当使用代码创建动画时,只有一张纸可用,这张

  • https://developer.mozilla.org/en/Canvas_tutorial/Transformations http://en.wikipedia.org/wiki/Spirograph 移植一个HTML5画布图像到QML画布非常简单。在成百上千的例子中,我们选择了一个来移植。 螺旋图形(Spiro Graph) 我们使用一个来自Mozila项目的螺旋图形例子来作为我们的基础

  • 本文向大家介绍html5-canvas 使用画布裁剪图像,包括了html5-canvas 使用画布裁剪图像的使用技巧和注意事项,需要的朋友参考一下 示例 本示例显示了一个简单的图像裁剪功能,该功能获取图像和裁剪坐标并返回裁剪后的图像。 使用            

  • 本文向大家介绍html5-canvas 画布大小和分辨率,包括了html5-canvas 画布大小和分辨率的使用技巧和注意事项,需要的朋友参考一下 示例 画布的大小是它在页面上占据的区域,由CSS width和height属性定义。 画布分辨率定义了它包含的像素数。通过设置画布元素的width和height属性来设置分辨率。如果未指定,则画布默认为300 x 150像素。 下面画布将使用上述CSS