我正在我的大学做一个小项目,我遇到了一个问题,我在横幅中将灰度应用于来自 Google 的 Picasa 服务器的外部加载图像。我尝试为任何加载的图像创建灰度画布,但是在尝试获取图像数据时,我可以看到安全错误。
我正在使用 jQuery、HTML、PHP 和 Ajax 语言。
你可以在这里找到整个项目: 谷歌代码项目
我尝试使用这个库: $getImageData
但我得到一个信息,我的请求无法处理。我还尝试了许多其他库和代码,但没有结果。
我正在我的大学做一个小项目,我遇到了一个问题,我在横幅中将灰度应用于来自 Google 的 Picasa 服务器的外部加载图像。我尝试为任何加载的图像创建灰度画布,但是在尝试获取图像数据时,我可以看到安全错误。
我正在使用 jQuery、HTML、PHP 和 Ajax 语言。
你可以在这里找到整个项目: 谷歌代码项目
我尝试使用这个库: $getImageData
但我得到一个信息,我的请求无法处理。我还尝试了许多其他库和代码,但没有结果。
您正在使用不是有效的跨域数据类型的“json”数据类型发出跨域请求。您应该得到相同的来源错误。您需要切换到 jsonp 数据类型。
jQuery('.container').ready(function() {
jQuery.ajax({
type: 'GET',
dataType:'jsonp',
url: 'https://picasaweb.google.com/data/feed/base/user/115131339234962778181/album/jsite?access=public&kind=photo&alt=json-in-script',
请注意,我还更改了网址,不要错过更改,这很重要。
当您将外部数据绘制到画布上时,它会被标记为已污染。污染会禁用您从画布中获取图像数据的能力。但是,您应该能够使用该.crossOrigin
属性更改该行为