我正在尝试使用其 URL 将动态 PNG 图像(由 PHP 脚本生成的图像)绘制到 Canvas 元素上。我不能真正发布我正在测试的页面的确切 URL,因为您必须登录到该网站。
我正在使用的其中一个动态图像 URL 的示例是:http ://www.website.com/includes/dynamicimage.php?ID=29718958161
如果您登录到此特定网站并将该 URL 粘贴到您的地址栏中,它将正确显示图像。但是,以下 Javascript 代码未正确将其绘制到 canvas 元素上:
function checkImage(imageContext) {
var canvas = document.createElementNS(
'http://www.w3.org/1999/xhtml', 'canvas');
canvas.width = imageContext.width;
canvas.height = imageContext.height;
var context = canvas.getContext("2d");
var img = new Image();
img.src = imageContext.src;
context.drawImage(img, 0, 0);
newWindow = window.open(imageContext.src, 'newWin', 'width=300,height=300');
newWindow2 = window.open('', 'newWin2', 'width=300,height=300');
newWindow2.document.body.appendChild(canvas);
var imgd = context.getImageData(0, 0, imageContext.width,
imageContext.height);
var pix = imgd.data;
}
我有两个弹出窗口显示动态图像和画布上绘制的内容,但画布始终是空白的。然后,我尝试在设置“pix”变量后对图像进行进一步的 RGB 测试,但由于图像从未绘制到画布元素,因此此步骤失败。