Teks melengkung Fabricjs memiliki koordinat yang buruk

Saya punya masalah dengan kerangka fabric.curvedText.js. Saya mendapat contoh dari situs ini https://github.com/EffEPi/fabric.curvedText

Saya menambahkan satu baris 'sudut: 60'. Hanya jika sudutnya 0, koordinatnya bagus. SetCoords() tidak membantu. Di bawah ini adalah contohnya.

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

Bagaimana cara memperbaikinya?


person syrus    schedule 13.07.2015    source sumber


Jawaban (1)


Mulai rendering dengan sudut: 0;

Ubah sudut teks melengkung setelah memuat, dengan cara itu Anda memutar teks dan membungkus bingkai secara bersamaan (saya pikir ini adalah bug yang Anda temui di sini), bagaimanapun jika Anda perlu merender saat memuat dengan sudut tertentu, ubah sudut ke objek yang diinginkan satu per satu rendering.

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

http://jsfiddle.net/7wLnz6pq/

Pembaruan:

$('#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();
    });

Tetapkan sudut ke 0 ketika radius dan jarak diubah http://jsfiddle.net/7wLnz6pq/1/

person SilentTremor    schedule 13.07.2015
comment
Dalam contoh Anda ketika saya mengatur sudut dalam rentang kendali ke mis. 180 dan kemudian mengubah radius atau jarak, koordinatnya rusak. Jika saya menggunakan sudut berputar di kanvas dan kemudian mengubah radius atau jarak semuanya baik-baik saja. Masalahnya ada pada metode set(). Saya mencoba menggunakan setAngle() tetapi efeknya sama. - person syrus; 13.07.2015
comment
Oke, saya akan menambahkan pembaruan untuk ini hanya untuk Anda, karena banyak kata tidak akan membantu - person SilentTremor; 13.07.2015
comment
Terima kasih banyak. Inilah yang saya butuhkan. - person syrus; 13.07.2015