问题标签 [getimagedata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6860 浏览

javascript - Firefox 3 中的 getImageData 导致 NS_ERROR_DOM_SECURITY_ERR

我正在尝试开发一个将在 Firefox 3 中使用 javascript 中的 getImageData 的应用程序,但我NS_ERROR_DOM_SECURITY_ERR在 getImageData 调用中得到一个“”。javascript 和图像当前都由硬盘驱动器提供服务,这显然违反了安全性?当这是现场直播时,它们都将由同一个域提供服务,所以这不会成为问题,但同时我该如何开发呢?

0 投票
7 回答
24118 浏览

image - 可以使用 getImageData / putImageData 之类的 html 图像吗?

我想知道是否有一种方法可以动态修改/访问 html 图像中包含的数据,就像它们是 html5 画布元素一样。使用画布,您可以在 javascript 中使用 getImageData() 和 putImageData() 访问原始像素数据,但到目前为止我还无法弄清楚如何处理图像。

0 投票
1 回答
2431 浏览

internet-explorer - 有没有办法从 Internet Explorer 获取像素数据?

Excanvas.js 允许 IE 使用 canvas 标签,但不支持 getImageData 方法。

有没有办法在 IE 中获取指定像素的值(img 或 VML 或任何其他方式可以在 IE 中显示来自服务器的位图)?我假设没有。

我试图摆脱服务器命中以提高 Ajax 应用程序的响应能力,但如果无法从 IE 中获取信息,我可能只能为 FF、Chrome、Opera 和 Safari 做到这一点。

0 投票
5 回答
35954 浏览

html - 如何在 HTML 画布中缩放 imageData?

我的网页中有一个画布;我在这个画布中创建了一个新的图像数据,然后我通过myImgData.data[]数组修改了一些像素。现在我想缩放这个图像并让它更大。我尝试通过缩放上下文,但图像仍然很小。是否有可能做到这一点?谢谢

0 投票
1 回答
6214 浏览

javascript - HTML5 Canvas 垂直翻转功能适用于 Firefox,但不适用于 Chrome 或 Safari。为什么?

这是在 Firefox 中运行良好的代码,但我只是不明白为什么它不能在 Webkit 浏览器中运行!注意:我使用 jQuery 来选择画布元素。

0 投票
2 回答
13443 浏览

javascript - 用于画布 html5 的 Javascript getImageData

我把头发扯掉了!我得到了这个工作,认为“我不能不保存这个版本”,然后我..打破了“构建”。

这条线myImageData = context.getImageData(0, 0, canvas.width, canvas.height);似乎打破了这一点,因为警报会在之前起作用,但不会在它之后起作用。

图像本身正在加载。

欢迎任何和所有建议 ^_^ 我已经走到了尽头,很快就会让 RSI 摆脱自我。

0 投票
2 回答
766 浏览

javascript - 如何在 Firefox 中处理 getImageData 边界?

我目前正在编写一个小绘图应用程序,该应用程序需要访问其涂抹和模糊工具的像素数据,并且在 Firefox 中遇到了 HTML5 Canvas API 的一个令人讨厌的问题。显然,它并没有完全按照规范中的定义实现 getImageData。该规范特别指出“......画布外的像素必须返回为透明黑色......”。

这在 FF 中不会发生(在 FF 3.6 和 4 beta 9 中测试)。相反,它会给出这样的错误:指定了无效或非法的字符串”代码:“12

请注意,这似乎可以在 Chrome 中正常工作。

我想这意味着我将不得不实现一些额外的代码来解决这个限制。我设法使用以下代码绕过了这个问题:

这并不酷,因为我将一堆空像素返回给调用者。就像在规范中一样返回结果会更好。

只是为了澄清代码是 Context API 的一部分,它包装了真实的上下文并提供了一些额外的功能(相对坐标等)。这可能解释了 this.width 等内容的来源。

麻烦的是XXX部分。我只需要某种方法来返回符合规范的 ImageData。欢迎任何关于如何做到这一点的想法。:)

0 投票
2 回答
3320 浏览

javascript - 使用 getImageData、javascript、HTML5 画布会导致什么内存泄漏

我正在使用“画布”元素,并尝试在 FIrefox 4 中使用 Javascript 对图像进行一些基于像素的操作。

以下代码泄漏内存,我想知道是否有人可以帮助确定泄漏的内容。

使用的图像是预加载的,一旦加载(到 pImages 数组中),就会调用此代码片段。

0 投票
2 回答
8519 浏览

javascript - HTML5 画布图像缓存/putImageData 问题

我正在使用 HTML5 画布来加载图像的单个实例,然后将其多次 blit 到单个画布上。图像需要一些轻微的基于像素的操作才能对其进行自定义。我最初的攻击计划是加载图像,将其粘贴到支持画布上,在其上绘制我的修改,然后获取图像数据并将其缓存以供将来使用。

这是我为此编写的一些代码:

虽然这可行,但我注意到我的图像(这是一个透明的 PNG)不能保持透明度。相反,当使用 putImageData 将其放置到我的正面画布上时,它会以黑色背景呈现。如何保持透明度?

欢迎任何建议!

0 投票
2 回答
17816 浏览

security - SECURITY_ERR:在 Chrome 扩展中使用 getImageData 时出现 DOM 异常 18

我正在编写我的第一个 Chrome 扩展程序。我正在尝试使用 jQuery 和jQuery Image Desaturate 插件对http://www.flickr.com上的页面上的图像进行去饱和处理。

我在我的 background.html 中以编程方式加载我的脚本(以及 jQuery 和插件):

我在我的以下文件中指定了 Flickr 页面的权限manifest.json

这似乎工作正常,例如,我可以将 Flickr 照片页面上所有 div 的背景添加到红色flickrnoir.js,然后打开 Flickr 页面并单击我的扩展程序按钮:

...所以,我成功加载了 jQuery,它可以成功访问和更改http://*.flickr.com/*页面的 DOM 元素。

但是,当我尝试使用去饱和插件对图像(或实际上所有图像)去饱和时,我遇到了一个安全错误。我的代码:

...最终在运行这一行的 jQuery.desaturate 插件的代码中结束:

此时,Chrome 会抛出一个安全异常:

......这让我停下了脚步。

编辑:好的,所以我猜这是因为页面位于www.flickr.com,而我复制到画布的图像位于farm6.static.flickr.com? 是否违反跨域政策?

我真的不熟悉 Chrome 扩展安全模型,或者跨域限制canvas,或者两者如何交互,所以我可以使用你能给我的任何帮助来理解这一点,但当然,我的基本问题是 - - 我如何克服这个安全异常并让我的代码正常工作?