【问题标题】:Client-Side script to read and manipulate image from the web (details...)用于从网络读取和操作图像的客户端脚本(详细信息...)
【发布时间】:2008-12-20 17:42:06
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript greasemonkey client-side ocr


    【解决方案1】:

    您可以只在 Flash 中加载它,然后对您的图像进行任何您想要的操作,然后如果您需要在页面中显示它,您可以将图像编码为 PNG 的 base64 字符串(您将需要用于 PNG 和base64 编码)。

    下一步是将字符串传递给 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

    雨果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-02
      • 2022-01-24
      • 2010-11-01
      • 1970-01-01
      • 2017-08-04
      • 2015-09-01
      • 2015-01-08
      • 1970-01-01
      相关资源
      最近更新 更多