2016-01-20 11 views
17

काम नहीं कर रहा fontweight,कपड़े js <code>fabric js</code> का उपयोग कर <code>canvas</code> में मैं <code>textbox</code> जोड़ने के लिए इस कोड का उपयोग कर रहा

var text = 'Type Text Here'; 
var textSample = new fabric.Textbox(text, { 
    left: getCardLeft() + 100, 
    top: getCardTop() + 10, 
    width: 200, 
    height: 20, 
    fontFamily: 'Helvetica', 
    fill: getColorPickerForegroundColor(), 
    fontWeight: '', 
    fontSize: parseInt('25'), 
    originX: 'center', 
    hasRotatingPoint: true, 
    centerTransform: true, 
}); 
canvas.add(textSample); 

जो सफलतापूर्वक canvas में textbox जोड़ें। अब, मैं इस आदेश

canvas.getActiveObject().set("fontWeight", "bold"); 
canvas.renderAll(); 

कार्य का उपयोग कर इसे bold बनाने की कोशिश, लेकिन जब कोशिश सामान्य करने के लिए इसे बदलने के लिए,

canvas.getActiveObject().set("fontWeight", ""); 
canvas.getActiveObject().set("fontWeight", "100"); 
canvas.getActiveObject().set("fontWeight", "normal"); 
canvas.renderAll(); 

काम नहीं कर रहा है।

मुझे नहीं पता कि समस्या कहां है। क्या मैं यहाँ कुछ गलत कर रहा हूँ?

यह अजीब व्यवहार कर रहा है आप इसे here देख सकते हैं।

यात्रा पहले here फिर here

उत्तर

7

मैं fabric.jshere से लेता हूं और मेरे साथ बदलकर काम करता हूं।

2

निम्नलिखित कोड मेरे लिए काम करता जाएँ।

canvas.renderAll(); 

की आवश्यकता को ठीक से rerendered जा करने के लिए: मैं दो अंक जहाँ मैं अपने पक्ष में विफल रहा है देख सकते हैं। और यह भी:

canvas.setActiveObject(textSample); 

मेरे लिए अनिवार्य था। क्योंकि अन्यथा:

canvas.getActiveObject(); 

अपरिभाषित था। अब एक पूर्ण काम कर कोड उदाहरण:

var canvas = new fabric.Canvas('c', { selection: false }); 
var text = 'Type Text Here'; 

var textSample = new fabric.Textbox(text, { 
    left: 300, 
    top: 50, 
    width: 200, 
    height: 20, 
    fontFamily: 'Helvetica', 
    fill: "#fac", 
    fontWeight: '100', 
    fontSize: parseInt('25'), 
    originX: 'center', 
    hasRotatingPoint: true, 
    centerTransform: true, 
}); 

canvas.add(textSample); 
canvas.setActiveObject(textSample); 
canvas.getActiveObject().set("fontWeight", "bold"); 
canvas.renderAll(); 
canvas.getActiveObject().set("fontWeight", "100"); 
canvas.renderAll(); 

आशा है कि मदद करता है।

+0

मैंने पहले से ही अपने कोड में प्रस्तुत किया है। लेकिन यह अजीब व्यवहार कर रहा है। http://screencast.com/t/HDVH6ckkr – hemsbhardiya

+0

मैंने अभी अपना प्रश्न थोड़ा संपादित किया है, कृपया इसे दोबारा देखें। क्या आपको कुछ भी गलत हो सकता है जिसे मैं नहीं ढूंढ पाया। धन्यवाद – hemsbhardiya

संबंधित मुद्दे

 संबंधित मुद्दे