canvas 相关问题

Canvas是自由格式图形输出的通用元素。

如何获取 html5 画布内像素的像素坐标

我知道你可以使用 getImageData() 和 .data() 获取 html5 Canvas 内每个像素的值,但是有没有办法获取它们的坐标而不仅仅是它们的值?

回答 1 投票 0

Adobe Flash CC HTML5 发布画布绘图不准确

我先从图片开始: Flash CC 不同发布方式的比较 看起来通过 Flash CC HTML5 与 CreateJS 发布的内容之间存在巨大差异...

回答 2 投票 0

命运之轮的麻烦

我使用 Roko C. Buljan 的命运之轮: 如何画命运之轮? 这是我第一次使用 JavaScipt 和 canvas,我有两个问题。 第一的: 我怎样才能得到这个值

回答 1 投票 0

如何在Chartjs上绘制自定义斜线

我正在尝试一些开源图形库来检查哪个更好。 所以我偶然发现了 Chart.js。 是否可以在图表上绘制自定义斜线? 像这样的东西 我尝试把 // S...

回答 1 投票 0

为什么 p5.js 在循环中使用 point() 与 rect() 时渲染颜色不同?

我正在使用 p5.js 通过使用 point() 函数创建动态颜色渐变来探索颜色渲染。但是,我注意到当我使用 point() 绘制颜色时,它们看起来更亮或

回答 1 投票 0

在 HTML 画布中创建链接

是否可以从画布元素中呈现的文本创建 html 链接?

回答 6 投票 0

防止 HTML 画布上不需要的用户交互

我正在网页上使用 JavaScript 和 HTML 画布创建游戏。我想让体验尽可能流畅,所以我想尝试阻止任何用户操作,例如。滚动、缩放、选择...

回答 1 投票 0

Base64 PNG 数据到 HTML5 画布

我想将 Base64 编码的 PNG 图像加载到 canvas 元素。我有这个代码: <p>我想将 Base64 编码的 PNG 图像加载到 canvas 元素。我有这个代码:</p> <pre><code>&lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;canvas id=&#34;c&#34;&gt;&lt;/canvas&gt; &lt;script type=&#34;text/javascript&#34;&gt; var canvas = document.getElementById(&#34;c&#34;); var ctx = canvas.getContext(&#34;2d&#34;); data = &#34;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAIAAAACDbGyAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oMCRUiMrIBQVkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAADElEQVQI12NgoC4AAABQAAEiE+h1AAAAAElFTkSuQmCC&#34;; ctx.drawImage(data, 0, 0); &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>在 Chrome 8 中我收到错误:<pre><code>Uncaught TypeError: Type error</code></pre></p> <p>在 Firefox 的 Firebug 中:“对象的类型与与该对象关联的参数的预期类型不兼容”代码:“17”</p> <p>base64是我在GIMP中制作的5x5px黑色PNG正方形,并在GNU/Linux的程序base64中将其转换为base64。</p> </question> <answer tick="true" vote="216"> <p>从外观上看,您实际上需要像这样向drawImage传递一个图像对象</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>var canvas = document.getElementById(&#34;c&#34;); var ctx = canvas.getContext(&#34;2d&#34;); var image = new Image(); image.onload = function() { ctx.drawImage(image, 0, 0); }; image.src = &#34;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAIAAAACDbGyAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oMCRUiMrIBQVkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAADElEQVQI12NgoC4AAABQAAEiE+h1AAAAAElFTkSuQmCC&#34;;</code></pre> <pre><code>&lt;canvas id=&#34;c&#34;&gt;&lt;/canvas&gt;</code></pre> </div> </div> <p></p> <p>我在 chrome 中尝试过,效果很好。</p> </answer> <answer tick="false" vote="22"> <p>Jerryf 的答案很好,除了一个缺陷。<br/></p> <blockquote> <p>onload事件应该设置在src之前。有时src可以 立即加载并且永远不会触发 onload 事件。</p> </blockquote> <p>(就像 Totty.js 指出的那样。)</p> <pre><code>var canvas = document.getElementById(&#34;c&#34;); var ctx = canvas.getContext(&#34;2d&#34;); var image = new Image(); image.onload = function() { ctx.drawImage(image, 0, 0); }; image.src = &#34;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAIAAAACDbGyAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oMCRUiMrIBQVkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAADElEQVQI12NgoC4AAABQAAEiE+h1AAAAAElFTkSuQmCC&#34;; </code></pre> <p>....</p> </answer> <answer tick="false" vote="0"> <p>更现代的版本。所提供的解决方案的问题之一是您的内容安全策略必须允许在图像 src 中设置数据:协议。</p> <p>避免使用image.src。使用 Blob 和 createImageBitmap 代替,例如</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code> function base64ToBlob(base64, mimeType) { const byteCharacters = atob(base64); const byteNumbers = new Array(byteCharacters.length); for (let i = 0; i &lt; byteCharacters.length; i++) { byteNumbers[i] = byteCharacters.charCodeAt(i); } const byteArray = new Uint8Array(byteNumbers); return new Blob([byteArray], { type: mimeType }); } const canvas = document.getElementById(&#34;c&#34;); const ctx = canvas.getContext(&#39;2d&#39;); const b64 = &#39;iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII&#39;; const mime = &#39;image/png&#39;; const blob = base64ToBlob(b64, mime); createImageBitmap(blob).then((imageBitmap) =&gt; { ctx.drawImage(imageBitmap, 0, 0); });</code></pre> <pre><code>&lt;canvas id=&#34;c&#34; /&gt;</code></pre> </div> </div> <p></p> </answer> </body></html>

回答 0 投票 0

将画布上创建的图像发送到后端服务器

我有画布,现在我用它下载了jpg文件。 var a = document.createElement('a'); a.href = ref_canvas_release.current.toDataURL('image/jpeg', 0.85); a.download = GlobalParam.fil...

回答 1 投票 0

将 canvas.toDataURL DOMString url 转换为 blob,

我正在使用cropperjs来裁剪图像 使用 getCroppedCanvas 方法获取对裁剪后的画布图像的引用 使用canvas方法canvas.toDataURL将图像压缩成jpeg文件...

回答 3 投票 0

HTML5 Canvas 使黑色透明

我有大量黑色背景的图像,这里是一个例子: 是否有可能通过Javascript忽略黑色(#000000)并将其绘制在画布上?看起来像...

回答 4 投票 0

使用 PIXI.js 有一个非常基本的探针,无法在屏幕上渲染精灵

显然我忽略了关于 pixi 的一些非常基本的东西。我正在尝试在场景中渲染单个精灵 我正在使用资源加载器加载纹理、创建精灵并将其渲染到

回答 1 投票 0

删除传单画布层

我正在使用 Leaflet Canvas 标记插件,并且我已经成功地通过单击按钮后的函数创建了画布标记。 这是我创建的网络应用程序的简化版本...

回答 1 投票 0

canvas API 的 .linesStyle 是一个使其自身成为全局的方法吗?

我对 js 的奇怪行为很好奇,特别是 .linesStyle 这个方法,它通常用于更改 HTML 画布上笔划的颜色。在我看来这很奇怪,因为...

回答 1 投票 0

用于选择图像上区域的程序

我无法用Python实现我的想法,请帮忙。我需要制作一个程序,其工作原理如下: 程序加载时,会显示图像。 图像可以放大和滚动。 在图像上,你...

回答 1 投票 0

从闭包编译器重构代码

我有两个不同版本的 JavaScript 文件:一个运行良好,另一个运行较慢。我已经在这两个文件上尝试过 Closure Compiler,但是......因为我是个白痴,几个月后我很高兴

回答 2 投票 0

如何计算旋转椭圆上的点

我有工作代码来查找椭圆上给定角度的 x,y : getPointOnEllipse(origin_x, origin_y, radius_x, radius_y, 角度) { var r_end_angle = end_angle / 360 * 2 * Math.PI; 变量 x ...

回答 3 投票 0

画布画家椭圆到svg路径

一个非常简单的例子是一个完整的圆=> 4个椭圆 路径为 M 1400 750 M 1400 750 A 650 650 0 0 1 750 1400 M 750 1400 A 650 650 0 0 1 100.07 750 M 100.07 750 A 650 650 0 0 1 750...

回答 1 投票 0

如何使用 Rails send_data 从 AJAX post 触发下载

我正在尝试使用send_data返回PNG图像作为ajax post请求的响应。如何让浏览器在成功回调时触发下载? 细节 我正在生成一个大b...

回答 3 投票 0

在 Chartjs 中使用 Webworkers 进行并行渲染和数据生成

由于渲染网络工作者,我正在从 Dygraph 更改为 Chartjs,并希望对图形进行完全多线程处理,以尽可能保持主线程为空。我正在尝试使用 Workers 来处理...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.