我尝试使用此简单功能:
http://code.google.com/p/canvasimagegradient/
我必须使用canvas和js创建线性透明渐变(我的图像必须是动态的),但是我的代码无法正常工作。
你能告诉我哪里错了吗?

var ctx = $('#thecanvas')[0].getContext("2d");
var theImage= $('#theimage');

var linearGradient = ctx.createLinearGradient(0, 0, 0, theImage.height);
linearGradient.addColorStop(0, "transparent");
linearGradient.addColorStop(1, "#000");

ctx.drawImageGradient(theImage, 12, 65, linearGradient);


调试器只是对我说:
控制台说:

NOT_SUPPORTED_ERR: DOM Exception 9: The implementation did not support


就在这一行下面:

var linearGradient = ctx.createLinearGradient(0, 0, 0, theImage.height);


在此先感谢:)

最佳答案

是因为您将图像作为jQuery对象获取,高度是一个函数,而不是一个属性?所以您应该有theImage.height(),而不是theImage.height

07-26 01:44