2013-04-28 74 views
0

我有两个按钮,一个按钮用于创建与图像的画布。其他按钮将画布转换为PNG数据(至少,这就是我想要实现的)。转换帆布,其利用的drawImage方法的至PNG

问题是,JavaScript以某种方式不会将画布转换为图像数据。

检查的jsfiddle这里:http://jsfiddle.net/julekker/tjYzw/1/

我试着使用window.location = finalcanvas.toDataURL("image/png");

var img = finalcanvas.toDataURL("image/png"); 
document.write('<img src="'+img+'"/>'); 

但他们都没有工作。

你怎么能转换的画布图像,这使得使用的drawImage方法PNG数据?

+0

在的jsfiddle代码,你似乎绘制外部图像到画布上。如果出于安全原因它是跨域访问,那么将阻止访问像素数据和toDataURL。 – 2013-04-28 12:56:56

+0

所以你建议这是不可能的? – Julian 2013-04-28 13:08:04

+0

没有,只是一个小技巧:http://stackoverflow.com/questions/7129178/browser-canvas-cors-support-for-cross-domain-loaded-image-manipulation – 2013-04-28 13:36:00

回答

1

在jsfiddle代码中,您似乎将一个外部图像绘制到画布上。如果出于安全原因它是跨域访问,那么将阻止访问像素数据和toDataURL。

这个问题已经在这里被覆盖了很多次;有关使用CORS解决此问题和浏览器支持的讨论,请参阅Browser Canvas CORS Support for Cross Domain Loaded Image Manipulation。另一个选项可能是通过本地代理加载图像。