すべての意図と目的のために、ユーザーが画像 URL を入力し、ボタンをクリックして、URL の反対側にあるリソースのデータ URI (例: Google ロゴ)。
読んでみると、次のように画像のデータ URI を取得できることがわかりました。
function imageToDataURI(src,callback)
{
var canvas = document.createElement('canvas'),
img = document.createElement('img');
img.onload =
function()
{
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0);
callback(canvas.toDataURL());
};
img.src = src;
}
ただし、多くの人 (私自身を含む) が "SECURITY_ERR: DOM Exception 18" を取得しています。これは、クロスドメインの画像が描画されるとキャンバス要素が汚染され、汚染されたキャンバスが canvas.toDataURL() で上記のエラーを返すためです (理由を参照) canvas.toDataURL() はセキュリティ例外をスローしますか? )。私の問題は、クロスドメイン URL をサポートする必要があることです。
私に何ができる?