用于从网络读取和操作图像的客户端脚本(详细信息...)

发布于 2024-07-10 19:40:30 字数 352 浏览 9 评论 0原文

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

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

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

I want to be able to use a Greasemonkey script that can take an image from a page, scan it for the darkest pixel, and then return those coordinates to the browser.

Originally, I used a flash script... Greasemonkey embedded a local flash file that would fetch the image based on a URL in the source of the webpage, use ActionScript to get the darkest pixel, and then send a POST request with those coordinates as values.

The problem is, I only want to download the image one time. With this method, it does it twice (once in browser, once in flash). Is there a way to manipulate an image from a webpage within Javascript or with another client-side language? I tried using a Canvas, but you cannot perform the getImageData() function on images hosted on remote servers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫七 2024-07-17 19:40:30

您可以仅在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-image-data-into-a-webpage

雨果

You could load it in flash only, and do with your image whatever you want, then if you need to show it in the page you could encode the image as base64 string of the PNG (you will need AS libraries for PNG and base64 encoding).

The next step would be to pass the string to javascript, and in Javascript you could take advantage of the ability to embed base64 images (supported in Firefox, opera, not IE).

The syntax is:

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

where "ABCDE..." is the base64 string generated in flash.

This way you would only get the image once, but still will be able to show it as a normal html image.

I used this technique in a pet project i created (www.creationempire.com/tstyles) to generate the images in a online image generator, and got the original idea from http://danielmclaren.net/2008/03/embedding-base64-image-data-into-a-webpage

Hugo

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文