Erro de origem cruzada getImageData

Precursor: Eu sei que algumas perguntas já foram feitas sobre esse tópico, mas nenhuma delas parece oferecer uma solução direta em JavaScript.

Então eu corri para este erro onde estou tentando obter os dados de pixel de uma tela usando algo comocontext.getImageData(), meu código exato pode ser vistoAqui ou embaixo:

<canvas id="imageCanvas" width="600" height="800"></canvas>
// Load Image
var canvas = document.getElementById('imageCanvas');

var image = new Image();
image.src = 'http://emoticons.pw/emoticons/emoticon-faces-002-medium.png';
image.onload = function() {

    width=image.width;
    height=image.height;

    var context = canvas.getContext('2d');
    context.fillStyle="#024359"; // canvas background color
    context.fillRect(0, 0, width, height);
    context.drawImage(this,0,0);

    imageData = context.getImageData(0,0,width, height); // PROBLEM HERE

    context.putImageData(imageData, 0, 0);
}

Recebo os seguintes erros no Chrome:

Não é possível obter dados de imagem da tela porque a tela foi contaminada por dados de origem cruzada.

e, em seguida, um erro de segurança também. Eu não quero fazer alterações no servidor ou iniciar o Chrome com uma coisa de instrução estranha. Eu sinto que tem que haver algo que eu possa fazer em JavaScript.

Usar apenas imagens locais não é um problema, mas ao tentar isso, recebi o mesmo erro!

Eu estou tentando fazer isso sem um servidor, se eu colocar isso no meu servidor web godaddy "padrão", todos os meus problemas estão resolvidos? Eu ouvi rumores dropbox também pode simular um servidor perto o suficiente?

questionAnswers(1)

yourAnswerToTheQuestion