2

是否可以使用http://www.blurjs.com模糊远程图像?

我将我们的图像托管在远程 CDN 上,我们想使用 blurjs 来模糊图像以获得背景效果。当我们尝试直接对远程图像使用 blur js 时,javascript 无法读取文件并抛出无法读取图像数据错误。

我目前这样做的方式是在php中重新生成图像,然后使用blurjs,但它非常慢并且消耗大量资源。

我们也使用过滤器尝试了 css 解决方案,但是当我们这样做时浏览器运行速度太慢。

有人有解决方案吗?

4

1 回答 1

1

您的问题是,不允许从与托管页面的域不同的域加载的图像在画布中进行像素访问。您需要的是在您的服务器上运行的代理脚本,它允许您的 javascript 通过您的服务器从其他域加载图像。当然,缺点是所有流量也将通过您的服务器运行,并且检索图像的时间会增加(因为图像必须首先加载到您的服务器然后再加载到客户端),不幸的是没有办法解决这个问题.

好消息是,这是 Flash 开发人员在多年前就已经面临的问题,因此已经解决了很多次:

例如一个 php 脚本:http ://www.abdulqabiz.com/blog/archives/2007/05/31/php-proxy-script-for-cross-domain-requests/

这是 Node.js http://codelikebozo.com/creating-an-image-proxy-server-in-nodejs中更新的实现

于 2012-11-23T11:13:35.150 回答