私はこの奇妙な問題に直面しています..! 私はkineticJSテキスト要素を持っていて、それを画像に変換しています..コードは次のとおりです
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() のオプションのパラメーターであるため、削除しましたが、このエラーが表示されるようになりました..
キャッチされていない TypeError: 未定義の kinetic.js:28 Kinetic.Node.toDataURL kinetic.js:28 Kinetic.Node.toImage kinetic.js:28 add_text canvas.js:83 (無名関数) canvas.js のプロパティ 'bufferCanvas' を読み取ることができません: 352 f.event.dispatch jquery.min.js:3 h.handle.i
私のコードの何が問題なのですか?