1

我希望能够使用一个 Greasemonkey 脚本,该脚本可以从页面中获取图像,扫描它以查找最暗的像素,然后将这些坐标返回给浏览器。

最初,我使用了一个 Flash 脚本... Greasemonkey 嵌入了一个本地 Flash 文件,该文件将根据网页源中的 URL 获取图像,使用 ActionScript 获取最暗的像素,然后发送带有这些坐标的 POST 请求价值观。

问题是,我只想下载一次图像。使用这种方法,它会执行两次(一次在浏览器中,一次在 Flash 中)。有没有办法在 Javascript 或其他客户端语言中处理网页中的图像?我尝试使用 Canvas,但您无法对托管在远程服务器上的图像执行 getImageData() 函数。

4

1 回答 1

2

您可以仅将其加载到 Flash 中,并随心所欲地处理您的图像,然后如果您需要在页面中显示它,您可以将图像编码为 PNG 的 base64 字符串(您将需要用于 PNG 和 base64 编码的 AS 库) .

下一步是将字符串传递给 javascript,在 Javascript 中,您可以利用嵌入 base64 图像的能力(在 Firefox、opera 中支持,而不是 IE)。

语法是:

<img src='data:image/png;base64,ABCDE...'>

其中“ABCDE...”是在 flash 中生成的 base64 字符串。

这样,您只能获得一次图像,但仍然可以将其显示为普通的 html 图像。

我在我创建的一个宠物项目(www.creationempire.com/tstyles)中使用了这种技术来在在线图像生成器中生成图像,并从http://danielmclaren.net/2008/03/embedding-base64获得了最初的想法-图像数据到网页

雨果

于 2008-12-20T19:11:28.983 回答