博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在worker中使用offscreenCanvas
阅读量:6264 次
发布时间:2019-06-22

本文共 1177 字,大约阅读时间需要 3 分钟。

HTML为

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>worker基本使用</title>
</head>
<body>
    <canvas id="myCanvas"></canvas>
    <button onclick="click()"></button>
</body>
<script>
  var offscreen = null;
  var worker = new Worker('offscreencanvas.js')
  function click () {
      if(offscreen == null){
          var htmlCanvas = document.getElementById('myCanvas')
          offscreen = htmlCanvas.ControlToOffscreen()
      }
      worker.postMessage({
canvas:offscreen},[offscreen])
  }
</script>
</html>

Js代码为

var x = 50;
var y = 50;
var offCanvas = null;
onmessage = function(evt){
    if(offCanvas === null){
        offCanvas = evt.data.canvas
    } else{
        if(offCanvas == evt.data.canvas){
            console.log('offCanvas == evt.data.canvas')
        } else {
            console.log('offCanvas != evt.data.canvas')
        }
    }
    gl = offCanvas.getContext('webgl');
    gl.viewport(0, gl.drawingBufferWidth, gl.drawingBufferHeight);
    gl.enable(gl.SCLSSOR_TEST);
    gl.scissor(y, x, 60, 60);
    gl.clearColor(1.0, 0.0, 0.0, 1.0)//red
    gl.clear(gl.COLOR_BUFFER_BIT)
    gl.commit()
    x +=10
    y += 10
}

转载于:https://www.cnblogs.com/wpw1215/p/9256054.html

你可能感兴趣的文章
第一本docker书 学习笔记(二)
查看>>
leetcode--Minimum Depth of Binary Tree
查看>>
ToolBar
查看>>
面向对象软件设计原则(五) —— 应用示例
查看>>
关于数据结构(一)
查看>>
正则语法的查询,这是纯转载的,为了方便查询
查看>>
【spring cloud】spring cloud zuul 路由网关
查看>>
【javaw.exe 两个】启动了两个javaw.exe 相关
查看>>
使用GDAL构造OpenCV的图像格式
查看>>
Android中使用JUnit测试
查看>>
剑指offer-二进制中1的个数11
查看>>
变量的本质
查看>>
手写堆优化dijkstra
查看>>
解决asp.net MVC中 当前上下文中不存在名称“model” 的问题
查看>>
cvs 一般是采用window用户账号的登录方式
查看>>
Integer to Roman
查看>>
bzoj4004[JLOI2015]装备购买
查看>>
ajax--->简单加法小练习
查看>>
剑指offer例题——反转链表
查看>>
帧内宏块预测流程 (转载)
查看>>