ข้อความโค้งของ Fabricjs ไม่ดี

ฉันมีปัญหากับกรอบงาน fabric.curvedText.js ฉันได้รับตัวอย่างจากไซต์นี้ https://github.com/EffEPi/fabric.curvedText

ฉันเพิ่มหนึ่งบรรทัด 'มุม: 60' เมื่อมุมเป็น 0 เท่านั้นจึงจะดี SetCoords()ไม่ได้ช่วยอะไร ด้านล่างนี้เป็นตัวอย่าง

JSfiddle: http://jsfiddle.net/y10vjagy/6/

แก้ไขยังไงคะ?


person syrus    schedule 13.07.2015    source แหล่งที่มา


คำตอบ (1)


เริ่มเรนเดอร์ด้วยมุม: 0;

เปลี่ยนมุมข้อความโค้งหลังจากโหลด ด้วยวิธีนี้คุณจะหมุนข้อความและตัดกรอบพร้อมกัน (ฉันคิดว่านี่เป็นข้อผิดพลาดที่คุณพบที่นี่) อย่างไรก็ตามหากคุณต้องการเรนเดอร์เมื่อโหลดด้วยมุมบางมุม ให้เปลี่ยนมุมเป็นวัตถุที่ต้องการทีละชิ้น การแสดงผล

// where obj is curved text object
if(obj){
            obj.set($(this).("angle"), 60); 
        }

http://jsfiddle.net/7wLnz6pq/

อัปเดต:

$('#radius, #spacing, #fill').change(function(){
        var obj = canvas.getActiveObject();
        if(obj){
            var angle = obj.get('angle');
            obj.set('angle', 0);
            obj.set($(this).attr('id'),$(this).val()); 
            obj.set('angle', angle);
        }
        canvas.renderAll();
    });
    $('#angle').change(function(){
        var obj = canvas.getActiveObject();
        if(obj){
            obj.set($(this).attr('id'),$(this).val()); 
        }
        canvas.renderAll();
    });

ตั้งค่ามุมเป็น 0 เมื่อรัศมีและระยะห่างเปลี่ยนไป http://jsfiddle.net/7wLnz6pq/1/

person SilentTremor    schedule 13.07.2015
comment
ในตัวอย่างของคุณเมื่อฉันตั้งค่ามุมในช่วงการควบคุมเป็นเช่น 180 แล้วเปลี่ยนรัศมีหรือระยะห่าง พิกัดจะพัง ถ้าฉันใช้มุมหมุนบนผืนผ้าใบแล้วเปลี่ยนรัศมีหรือระยะห่าง ทุกอย่างก็โอเค ปัญหาเกิดขึ้นกับเมธอด set() ฉันลองใช้ setAngle() แต่เอฟเฟกต์ก็เหมือนเดิม - person syrus; 13.07.2015
comment
ตกลง ฉันจะเพิ่มการอัปเดตสำหรับสิ่งนี้สำหรับคุณโดยเฉพาะ เพราะการใช้คำพูดมากเกินไปก็ไม่ช่วยอะไร - person SilentTremor; 13.07.2015
comment
ขอบคุณมาก. นี่คือสิ่งที่ฉันต้องการ - person syrus; 13.07.2015