html5-canvas相关内容

使用 WebGL 将两个画布混合到一个上

我要做的是将两个画布混合到一个画布上,用于我正在创建的绘图应用程序.我非常了解 Javascript,但我真的不知道从哪里开始使用 WebGL,而且由于这不是一项非常艰巨的任务,我假设如果我不使用它会产生更快的处理速度另一个库,例如 Three.js 或其他类似的库. 我已经拥有的是用户将要绘制的画布(我们称它们为画布 A 和 B),它们都是隐藏的,而画布 C 正在显示. ..
发布时间:2022-01-17 11:36:41 前端开发

如果多次应用,带有 alpha 的 rgba fillStyle 不会变得完全不透明

我偶然发现了一个奇怪的问题.以下代码导致图像逐渐消失,因为它被半透明的矩形一遍又一遍地覆盖. 但至少在 draw(); 的第 10 次迭代中,图像应该完全过度绘制,因为到那时矩形应该是完全不透明的,对吧?但它实际上从未完全消失. 这种效果在 Chrome 上比在 Firefox 上更糟糕.但请注意:糟糕的屏幕可能会隐藏这种错误行为 =) 我还在jsFiddle上做了一个demo. ..
发布时间:2022-01-17 11:36:36 前端开发

基于鼠标移动的 HTML5 平移

我正在尝试在 HTML5 的画布内实现“平移"功能,但我不确定实现它的最佳方法. 目前 - 我正在尝试检测鼠标在画布上的位置,如果它在边缘的 10% 范围内,它将朝那个方向移动,如图所示: 当前边缘检测: canvas.onmousemove = function(e){var x = e.offsetX;var y = e.offsetY;var cx = canvas.width ..
发布时间:2022-01-17 11:36:30 前端开发

Fabric.js 橡皮擦问题画布

我想使用 Fabric.js 在我的网络应用中实现橡皮擦.有没有办法在 Fabric.js 中实现橡皮擦?例如,比如在 MS Paint 中? 解决方案 Fabric 没有内置橡皮擦,实现起来有点困难. Fabric 的特点是一切都是基于对象的,而且大多数东西也是基于向量的. 与原生画布不同,我们不能只擦除全局位图上的一些像素.我们在下面有整个对象模型,画布输出是所有渲染到画布 ..
发布时间:2022-01-17 11:36:14 其他开发

二进制数组到画布

我想将 jpeg 图像从二进制数组加载到画布(目前正在尝试使用 Uint8Array).我一直在网上寻找解决方案,但我能找到的只是将数组转换为 base64,然后加载效率不高的图像. 这是我用于加载图像的代码: 您的浏览器不支持ht ..
发布时间:2022-01-17 11:35:58 前端开发

鼠标点击在画布上画一个圆圈

我想在鼠标单击时在画布上绘制一个实心(或非实心)圆圈,但我的代码无法正常工作,我已经尝试了几乎所有方法! 这是我的 HTML: 和我当前的脚本: var canvas = document.getElementById("imgCanvas");var context = canvas.getContext("2d");函数 create ..
发布时间:2022-01-17 11:35:49 前端开发

Fabric.js 的文本框不换行

我正在使用 Fabric.js 的 Textbox.我给了一个固定的宽度.但是,如果用户键入一个没有任何空格的长单词,超过了给定的文本框宽度,则它不会换行. 有什么办法吗? 解决方案 是的,有一个你可能喜欢或不喜欢的解决方案来实现分词: 覆盖fabric默认的换行函数: fabric.Textbox.prototype._wrapLine = function(ctx, te ..
发布时间:2022-01-17 11:35:41 前端开发

为什么图像在加载时不显示,但在刷新时显示?

我正在使用 HTML5 中的 canvas 元素,我注意到一种特殊的行为.在初始加载时,我正在显示的图像不显示.但是,当我刷新浏览器时,它会正确显示.我用过 IE9 和 Chrome.两者的行为相同.JavaScript 代码如下所示: window.onload = 加载;函数加载(){var canvas = document.getElementById("canvas");var con ..
发布时间:2022-01-17 11:35:30 前端开发

两行之间的填充区域 - Chart.js v2

我正在尝试使用 Chart.js 填充折线图中两条线之间的区域.像这样: 已经有了答案here,它解释了如何扩展 chartjs 来做到这一点.但我知道这个功能现在是 V2 中的原生功能(来自 github 上的这个线程问题页面),问题是我找不到与此相关的文档. 文档中有关于此的部分吗?有人知道如何使用此功能吗? 谢谢! 解决方案 这是一个小插件,可以在任意两个数据集行之 ..
发布时间:2022-01-17 11:35:24 前端开发

HTML5 画布 - fillRect() 与 rect()

在下面的代码中,如果我使用 rect() 然后使用 fill(),第二个 fillStyle 会覆盖第一个中指定的颜色在这两个地方(即,两个矩形都是绿色的)但如果我将第一个 rect() 更改为 fillRect(),则按预期工作(即,第一个矩形是蓝色,第二个是绿色).为什么会这样?我以为 fillRect() 只是 rect() 然后是 fill(),对吧? ctx.translate(can ..
发布时间:2022-01-17 11:35:14 前端开发

根据画布部分更改光标

我有一个画布,我想更改用户光标(如样式光标指针十字准线移动等). 是否可以在不引入“命中框"的情况下在画布的某个区域上更改用户光标?这些命中框上的光标样式? 解决方案 画布上绘制的形状不会单独接收鼠标事件,因此单个形状无法接收悬停事件. 在画布上绘制的形状可以表示为一组路径命令 A Shape == 一组路径命令.//示例:一组绘制三角形的路径命令context.beginP ..
发布时间:2022-01-17 11:35:04 其他开发

在鼠标移动上创建涂抹/液化效果,使用 webgl 连续动画回原始状态

我正在尝试查找可用于创建持续动画回到原始状态的涂抹/液化效果的信息或示例. 最初我正在考虑使用 three.js 或 pixi.js 来渲染一些文本,然后使用鼠标事件和光线投射将网格拖出位置,我发现最接近的是这个. https://codepen.io/shshaw/pen/qqVgbg 让渲染器 = PIXI.autoDetectRenderer(window.innerWidth ..
发布时间:2022-01-17 11:34:52 前端开发

在画布上调整亮度/对比度的公式?

正如将图像转换为灰度的公式一样,是否有一个公式可以增加图像的亮度并在同一级别降低亮度?我尝试为每个 r、g 和 b 像素添加一个值.它确实增加了亮度,但是当我降低相同的值时,我不会恢复原来的值. var 像素 = context.getImageData(...);//循环像素数据并添加一个值p[i] = p[i]+100;p[i+1] = p[i+1]+100;p[i+2] = p[i+2]+ ..
发布时间:2022-01-17 11:34:42 其他开发

删除 JavaScript 中的按键延迟?

好吧,当您按住键盘上的某个键时,第一次开火后会有 1 秒的延迟. 您可以继续打开记事本并按住一个键(例如“x"),您会在第一次火灾后看到有延迟. 但是,我正在尝试使用 JavaScript 在 HTML5 Canvas 中开发游戏,并且 1 秒的延迟非常烦人,此外,它还会停止玩家行走动画.. 那么我怎样才能删除 JavaScript 中令人讨厌的延迟(没有 jQuery!)? ..
发布时间:2022-01-17 11:34:34 前端开发

<canvas> 上的 JavaScript 文本识别和 OCR

我找到了一个可以识别手写数学方程式的网络应用程序: http://webdemo.visionobjects.com/equation.html?locale=default 我想知道是否有人知道实现此机制的应用程序或教程或开源项目,因为从这个 webapp 获取它真的很复杂. 注意:我只需要将画布中绘制的方程式翻译到输入文本框中即可. 解决方案 Tesseract OC ..
发布时间:2022-01-17 11:34:19 前端开发

在 JavaScript 中确定照片的方向?

我们使用 FileReader 从 iPhone 上拍摄的照片中获取图像到浏览器中.然后我们使用 drawImage() 将该图像绘制到 canvas 上.问题是在 iPhone 上拍摄的照片会在页面上旋转.我们无法在任何 Android 设备上重现此内容. 我们可以很容易地旋转 canvas 上的图像,但是我们如何确定所需的旋转呢?我们尝试了一些用于 JavaScript 的 EXIF 读 ..
发布时间:2022-01-17 11:34:10 移动开发