html5-canvas相关内容
我要做的是将两个画布混合到一个画布上,用于我正在创建的绘图应用程序.我非常了解 Javascript,但我真的不知道从哪里开始使用 WebGL,而且由于这不是一项非常艰巨的任务,我假设如果我不使用它会产生更快的处理速度另一个库,例如 Three.js 或其他类似的库. 我已经拥有的是用户将要绘制的画布(我们称它们为画布 A 和 B),它们都是隐藏的,而画布 C 正在显示.
..
我偶然发现了一个奇怪的问题.以下代码导致图像逐渐消失,因为它被半透明的矩形一遍又一遍地覆盖. 但至少在 draw(); 的第 10 次迭代中,图像应该完全过度绘制,因为到那时矩形应该是完全不透明的,对吧?但它实际上从未完全消失. 这种效果在 Chrome 上比在 Firefox 上更糟糕.但请注意:糟糕的屏幕可能会隐藏这种错误行为 =) 我还在jsFiddle上做了一个demo.
..
我正在尝试在 HTML5 的画布内实现“平移"功能,但我不确定实现它的最佳方法. 目前 - 我正在尝试检测鼠标在画布上的位置,如果它在边缘的 10% 范围内,它将朝那个方向移动,如图所示: 当前边缘检测: canvas.onmousemove = function(e){var x = e.offsetX;var y = e.offsetY;var cx = canvas.width
..
为什么我的多个矩形不能在画布中绘制?
..
我想使用 Fabric.js 在我的网络应用中实现橡皮擦.有没有办法在 Fabric.js 中实现橡皮擦?例如,比如在 MS Paint 中? 解决方案 Fabric 没有内置橡皮擦,实现起来有点困难. Fabric 的特点是一切都是基于对象的,而且大多数东西也是基于向量的. 与原生画布不同,我们不能只擦除全局位图上的一些像素.我们在下面有整个对象模型,画布输出是所有渲染到画布
..
这是我使用 image.src = "/local/directory/image.png" 时使用的代码,但如果我使用 image.src="http://remote/path" 它会加载图像,但其余的 mousemove 功能不起作用.你是怎么解决的? 复制粘贴到 test.htm
..
我想将 jpeg 图像从二进制数组加载到画布(目前正在尝试使用 Uint8Array).我一直在网上寻找解决方案,但我能找到的只是将数组转换为 base64,然后加载效率不高的图像. 这是我用于加载图像的代码: 您的浏览器不支持ht
..
我想在鼠标单击时在画布上绘制一个实心(或非实心)圆圈,但我的代码无法正常工作,我已经尝试了几乎所有方法! 这是我的 HTML:
和我当前的脚本: var canvas = document.getElementById("imgCanvas");var context = canvas.getContext("2d");函数 create
..
我正在使用 Fabric.js 的 Textbox.我给了一个固定的宽度.但是,如果用户键入一个没有任何空格的长单词,超过了给定的文本框宽度,则它不会换行. 有什么办法吗? 解决方案 是的,有一个你可能喜欢或不喜欢的解决方案来实现分词: 覆盖fabric默认的换行函数: fabric.Textbox.prototype._wrapLine = function(ctx, te
..
我正在使用 HTML5 中的 canvas 元素,我注意到一种特殊的行为.在初始加载时,我正在显示的图像不显示.但是,当我刷新浏览器时,它会正确显示.我用过 IE9 和 Chrome.两者的行为相同.JavaScript 代码如下所示: window.onload = 加载;函数加载(){var canvas = document.getElementById("canvas");var con
..
我正在尝试使用 Chart.js 填充折线图中两条线之间的区域.像这样: 已经有了答案here,它解释了如何扩展 chartjs 来做到这一点.但我知道这个功能现在是 V2 中的原生功能(来自 github 上的这个线程问题页面),问题是我找不到与此相关的文档. 文档中有关于此的部分吗?有人知道如何使用此功能吗? 谢谢! 解决方案 这是一个小插件,可以在任意两个数据集行之
..
在下面的代码中,如果我使用 rect() 然后使用 fill(),第二个 fillStyle 会覆盖第一个中指定的颜色在这两个地方(即,两个矩形都是绿色的)但如果我将第一个 rect() 更改为 fillRect(),则按预期工作(即,第一个矩形是蓝色,第二个是绿色).为什么会这样?我以为 fillRect() 只是 rect() 然后是 fill(),对吧? ctx.translate(can
..
我有一个画布,我想更改用户光标(如样式光标指针十字准线移动等). 是否可以在不引入“命中框"的情况下在画布的某个区域上更改用户光标?这些命中框上的光标样式? 解决方案 画布上绘制的形状不会单独接收鼠标事件,因此单个形状无法接收悬停事件. 在画布上绘制的形状可以表示为一组路径命令 A Shape == 一组路径命令.//示例:一组绘制三角形的路径命令context.beginP
..
我有一个包含多个数据集的常规 Chartjs 甜甜圈图,对数据集使用以下代码: 数据集:[{标签:“错误",数据:[60,6.6666666666667,33.333333333333],背景颜色:['#25CFE4','#92E7F1','#eeeeee'],}, {标签:'修复',数据:[60,0.44444444444444,39.555555555556],背景颜色:['#514463'
..
我正在尝试查找可用于创建持续动画回到原始状态的涂抹/液化效果的信息或示例. 最初我正在考虑使用 three.js 或 pixi.js 来渲染一些文本,然后使用鼠标事件和光线投射将网格拖出位置,我发现最接近的是这个. https://codepen.io/shshaw/pen/qqVgbg 让渲染器 = PIXI.autoDetectRenderer(window.innerWidth
..
正如将图像转换为灰度的公式一样,是否有一个公式可以增加图像的亮度并在同一级别降低亮度?我尝试为每个 r、g 和 b 像素添加一个值.它确实增加了亮度,但是当我降低相同的值时,我不会恢复原来的值. var 像素 = context.getImageData(...);//循环像素数据并添加一个值p[i] = p[i]+100;p[i+1] = p[i+1]+100;p[i+2] = p[i+2]+
..
好吧,当您按住键盘上的某个键时,第一次开火后会有 1 秒的延迟. 您可以继续打开记事本并按住一个键(例如“x"),您会在第一次火灾后看到有延迟. 但是,我正在尝试使用 JavaScript 在 HTML5 Canvas 中开发游戏,并且 1 秒的延迟非常烦人,此外,它还会停止玩家行走动画.. 那么我怎样才能删除 JavaScript 中令人讨厌的延迟(没有 jQuery!)?
..
我一直在学习 html5 的画布.因为图像可能需要一段时间才能加载,所以似乎适当的技术是使用 onload 来等待图像加载,然后再尝试绘制它.所以: var fig = document.getElementById('fig1');var ctx = fig.getContext('2d');
..
我找到了一个可以识别手写数学方程式的网络应用程序: http://webdemo.visionobjects.com/equation.html?locale=default 我想知道是否有人知道实现此机制的应用程序或教程或开源项目,因为从这个 webapp 获取它真的很复杂. 注意:我只需要将画布中绘制的方程式翻译到输入文本框中即可. 解决方案 Tesseract OC
..
我们使用 FileReader 从 iPhone 上拍摄的照片中获取图像到浏览器中.然后我们使用 drawImage() 将该图像绘制到 canvas 上.问题是在 iPhone 上拍摄的照片会在页面上旋转.我们无法在任何 Android 设备上重现此内容. 我们可以很容易地旋转 canvas 上的图像,但是我们如何确定所需的旋转呢?我们尝试了一些用于 JavaScript 的 EXIF 读
..