问题标签 [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.
javascript - Firefox 3 中的 getImageData 导致 NS_ERROR_DOM_SECURITY_ERR
我正在尝试开发一个将在 Firefox 3 中使用 javascript 中的 getImageData 的应用程序,但我NS_ERROR_DOM_SECURITY_ERR
在 getImageData 调用中得到一个“”。javascript 和图像当前都由硬盘驱动器提供服务,这显然违反了安全性?当这是现场直播时,它们都将由同一个域提供服务,所以这不会成为问题,但同时我该如何开发呢?
image - 可以使用 getImageData / putImageData 之类的 html 图像吗?
我想知道是否有一种方法可以动态修改/访问 html 图像中包含的数据,就像它们是 html5 画布元素一样。使用画布,您可以在 javascript 中使用 getImageData() 和 putImageData() 访问原始像素数据,但到目前为止我还无法弄清楚如何处理图像。
internet-explorer - 有没有办法从 Internet Explorer 获取像素数据?
Excanvas.js 允许 IE 使用 canvas 标签,但不支持 getImageData 方法。
有没有办法在 IE 中获取指定像素的值(img 或 VML 或任何其他方式可以在 IE 中显示来自服务器的位图)?我假设没有。
我试图摆脱服务器命中以提高 Ajax 应用程序的响应能力,但如果无法从 IE 中获取信息,我可能只能为 FF、Chrome、Opera 和 Safari 做到这一点。
html - 如何在 HTML 画布中缩放 imageData?
我的网页中有一个画布;我在这个画布中创建了一个新的图像数据,然后我通过myImgData.data[]
数组修改了一些像素。现在我想缩放这个图像并让它更大。我尝试通过缩放上下文,但图像仍然很小。是否有可能做到这一点?谢谢
javascript - HTML5 Canvas 垂直翻转功能适用于 Firefox,但不适用于 Chrome 或 Safari。为什么?
这是在 Firefox 中运行良好的代码,但我只是不明白为什么它不能在 Webkit 浏览器中运行!注意:我使用 jQuery 来选择画布元素。
javascript - 用于画布 html5 的 Javascript getImageData
我把头发扯掉了!我得到了这个工作,认为“我不能不保存这个版本”,然后我..打破了“构建”。
这条线myImageData = context.getImageData(0, 0, canvas.width, canvas.height);
似乎打破了这一点,因为警报会在之前起作用,但不会在它之后起作用。
图像本身正在加载。
欢迎任何和所有建议 ^_^ 我已经走到了尽头,很快就会让 RSI 摆脱自我。
javascript - 如何在 Firefox 中处理 getImageData 边界?
我目前正在编写一个小绘图应用程序,该应用程序需要访问其涂抹和模糊工具的像素数据,并且在 Firefox 中遇到了 HTML5 Canvas API 的一个令人讨厌的问题。显然,它并没有完全按照规范中的定义实现 getImageData。该规范特别指出“......画布外的像素必须返回为透明黑色......”。
这在 FF 中不会发生(在 FF 3.6 和 4 beta 9 中测试)。相反,它会给出这样的错误:指定了无效或非法的字符串”代码:“12
请注意,这似乎可以在 Chrome 中正常工作。
我想这意味着我将不得不实现一些额外的代码来解决这个限制。我设法使用以下代码绕过了这个问题:
这并不酷,因为我将一堆空像素返回给调用者。就像在规范中一样返回结果会更好。
只是为了澄清代码是 Context API 的一部分,它包装了真实的上下文并提供了一些额外的功能(相对坐标等)。这可能解释了 this.width 等内容的来源。
麻烦的是XXX部分。我只需要某种方法来返回符合规范的 ImageData。欢迎任何关于如何做到这一点的想法。:)
javascript - 使用 getImageData、javascript、HTML5 画布会导致什么内存泄漏
我正在使用“画布”元素,并尝试在 FIrefox 4 中使用 Javascript 对图像进行一些基于像素的操作。
以下代码泄漏内存,我想知道是否有人可以帮助确定泄漏的内容。
使用的图像是预加载的,一旦加载(到 pImages 数组中),就会调用此代码片段。
javascript - HTML5 画布图像缓存/putImageData 问题
我正在使用 HTML5 画布来加载图像的单个实例,然后将其多次 blit 到单个画布上。图像需要一些轻微的基于像素的操作才能对其进行自定义。我最初的攻击计划是加载图像,将其粘贴到支持画布上,在其上绘制我的修改,然后获取图像数据并将其缓存以供将来使用。
这是我为此编写的一些代码:
虽然这可行,但我注意到我的图像(这是一个透明的 PNG)不能保持透明度。相反,当使用 putImageData 将其放置到我的正面画布上时,它会以黑色背景呈现。如何保持透明度?
欢迎任何建议!
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
,或者两者如何交互,所以我可以使用你能给我的任何帮助来理解这一点,但当然,我的基本问题是 - - 我如何克服这个安全异常并让我的代码正常工作?