問題已解決。謝謝你的失敗。
的.htaccess
Header set Access-Control-Allow-Origin http://mysite-domain #=> The point of solution
的JavaScript
將圖像轉換爲帆布
this.imageToCanvas = function()
{
var self = this,
img = new Image();
img.src = document.getElementById("IMAGE").src;
img.crossOrigin = "anonymous"; //=> The point of solution
img.onload = function(){
var canvas = document.getElementById("CANVAS");
if (! canvas || ! canvas.getContext) { return false; }
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, img.width, img.height);
self.draw();
};
};
畫東西在畫布上
this.draw = function()
{
var self = this,
text = "stackoverflow",
img = new Image();
img.crossOrigin = "anonymous"; //=> The point of solution
img.src = document.getElementById("SECOND-IMAGE").src;
img.onload = function(){
var canvas = document.getElementById("CANVAS");
if (! canvas || ! canvas.getContext) { return false; }
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 10, 10, img.width, img.height);
ctx.save();
ctx.font = "italic bold 32px 'Times New Roman'";;
ctx.fillStyle = "#0067ef";
ctx.fillText(text, 50, 50);
ctx.restore();
self.canvasToImage(canvas);
};
};
轉換畫布回的圖像再次
this.canvasToImage = function(_canvas)
{
var img = new Image();
img.id = "IMAGE";
img.src = _canvas.toDataURL(); //=> It succeeds this time.
$("#" + _canvas.id).replaceWith(img); //=> with jQuery
};
是的,它是可能的,但是你必須瞭解和CORS同源策略。 –
謝謝。我嘗試啓用CORS Image和Access-Control-Allow-Origin。 –