javascript - 带有 JS 和 JQuery 的 HTML 集成 Canvas

标签 javascript jquery html css

我将脚本限制在 Canvas 部分,我解决了所有 JS 异常,但是当按钮被触发时脚本没有反应。为什么不画线? 我知道十六进制代码的随机化还不是最佳的,但为什么它除了创建 2 个按钮之外什么都不做?

提前致谢。

<script type="application/javascript">
function draw() {
var canvas = document.getElementById('resizable');
        if (canvas.getContext){
          var ctx = canvas.getContext('2d');
        } else {
  alert("Your browser does not support <canvas> elements/HTML5")
}


ctx.clearRect( 0, 0, ctx.canvas.width, ctx.canvas.height);
ctx.save();


var i = 0;
var j = 0;


var iData = ctx.createImageData(canvas.width, canvas.height); 
for(var i=0; i<iData.data.length; i+=4)
{
    iData.data[i]=Math.floor(Math.random()*255);
    iData.data[i+1]=Math.floor(Math.random()*255);
    iData.data[i+2]=Math.floor(Math.random()*255);
    iData.data[i+3]=255;
    }
ctx.putImageData(iData,0,0);
}

function reset()
{
   ctx.clearRect( 0, 0, ctx.canvas.width, ctx.canvas.height);
} 
    </script>




<canvas id="resizable" width="150" height="150" style="border:1px;"></canvas>

<button onclick="draw()">GO</button> 

<button onclick="reset()">Reset</button>

最佳答案

可调整大小或在 css 中设置大小的问题是 Canvas 将表现得好像它是原始/默认大小 (100x100) 并缩放内容。如果您使用的是图像编辑器,这就像更改图像大小,而您正在尝试更改 Canvas 大小。

您需要更改 Canvas 的 widthheight 属性,而不是 css 宽度和高度属性。

关于javascript - 带有 JS 和 JQuery 的 HTML 集成 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32550039/

相关文章:

JavaScript,按钮,点击

javascript - 将参数从 Controller 传递到 angularjs 中的资源工厂以在数据库中搜索

javascript - AJAX/jQuery : Change DIV background based on number value in it?

javascript - 如何加载 gif 直到显示图表

javascript - 在新窗口中打印克隆的 div

javascript - 在所有元素 jquery 数据表之上显示弹出窗口

html - 自定义 Bootstrap 对话框

javascript - CSS 高度 100% 无效

javascript - Extjs Grid - 点击事件监听器

javascript - 表格单元格的工具提示 ASP.NET