2016-08-10 11 views
0

スケーリングの間にスケールの代わりにテキストボックスのフォントサイズを変更しようとしています。私は文字/単語に適用された複数のフォントサイズを持つテキストボックスを持っています。私は、個々の文字/単語はファブリックiTextの中にテキストを入力しているときは、フォントサイズを変更するためにこれを使用することができますfabricjsのテキストボックスを拡大縮小する際にフォントサイズを変更する

if (object.styles) { 
           var styles = object.styles; 
           for (var row in styles) { 
            for (var char in styles[row]) { 
             if ('fontSize' in styles[row][char]) { 
              activeObject.selectionStart = styles[row][char]; 
              activeObject.selectionEnd = activeObject.selectionStart + 1; 
              var seletedText = activeObject.getSelectedText(); 
              if(styles[row][char]['fontSize']){ 
               var selectedFontSize = styles[row][char]['fontSize'] * activeObject.scaleX; 
               selectedFontSize = selectedFontSize.toFixed(0); 
              }else{ 
               var selectedFontSize = activeObject.fontSize * activeObject.scaleX; 
               selectedFontSize = selectedFontSize.toFixed(0); 
              } 
              styles[row][char]['fontSize'] = selectedFontSize; 
              // $scope.setStyle(activeObject, 'fontSize',selectedFontSize); 
              $scope.selectedFontSize = activeObject.fontSize * activeObject.scaleX; 
              activeObject.selectedFontSize = $scope.selectedFontSize; 
              // activeObject.text.slice(activeObject.selectionStart, activeObject.selectionEnd); 
              // delete styles[row][char]['fontSize']; 


             } 
            } 
           } 
          } 
+1

キャンバスにスタイルを指定してテキストボックスを読み込むと、ここでスニペットをstackoverflow形式で提供できますか? – AndreaBogazzi

+0

[Fabric js:マウスでサイズを変更したときにスケーリングするのではなく、フォントサイズを大きくする]の複製が可能です(http://stackoverflow.com/questions/33692728/fabric-js-increase-font-size-instead-of-just-scaling -when-resize-with-mouse) –

答えて

0
> canvas.on('text:changed', function (opt) { 
>    var t1 = opt.target; 
>    PreventMovingoutsidecanvas(opt); 
>    PreventWidth(opt); 
>    if (t1.width > t1.fixedWidth) { 
>     t1.fontSize *= (t1.fixedWidth+20)/(t1.width); 
>     t1.width = t1.fixedWidth;   
>    } 
>    
>   }); 

をスケールに対するフォントサイズを変更したいです。

関連する問題