我遇到了這個奇怪的問題..!我有一個kineticJS文本元素,我將它轉換成圖像..這裏是代碼KineticJS toImage寬度和高度問題
var simpleText = new Kinetic.Text({
x: 50,
y: 50,
text: $("#text").val(),
fontSize: $("#fontSize").val(),
fontFamily: $("#fontName").val(),
fill: $("#fontColor").val(),
});
var twidth = simpleText.getWidth();
var theight = simpleText.getHeight();
simpleText.toImage({
width:twidth,
height:theight,
callback: function(img){
var textImg = new Kinetic.Image({
image: img,
x: 0,
y: 0,
width: twidth,
height: theight,
name: 'image',
stroke: 'red',
strokeWidth: 2,
strokeEnabled: false
});
addElement(textImg, textImg.getWidth(), textImg.getHeight());
}
});
所以這裏存在的問題..!
var twidth = simpleText.getWidth();
var theight = simpleText.getHeight();
如果我只是把數字形式的寬度和高度,一切工作正常和文本轉換,這樣
var twidth = 500;
var theight = 100;
的東西,但是如果我用simpleText.getWidth()和simpleText.getHeight (),沒有任何反應,圖像被創建,但它沒有那個TEXT。正如我在文檔中看到,寬度和高度都是toImage()可選參數,可以讓我現在刪除,但現在它顯示這個錯誤..
Uncaught TypeError: Cannot read property 'bufferCanvas' of undefined kinetic.js:28 Kinetic.Node.toDataURL kinetic.js:28 Kinetic.Node.toImage kinetic.js:28 add_text canvas.js:83 (anonymous function) canvas.js:352 f.event.dispatch jquery.min.js:3 h.handle.i
任何想法什麼是錯我的代碼?
感謝的人!它的工作:) – casper123 2013-05-07 05:56:36