Sto lavorando su applicazioni js tessuto & ho bisogno per aumentare/diminuire la dimensione del carattere quando abbiamo ridimensionare il tipo di carattere con il mouse
mio codice provatojs Tessuto: Aumenta la dimensione del testo invece di scalare quando ridimensionare con il mouse
var canvas = new fabric.Canvas('canvas');
$(document).ready(function() {
$('#text-font-size').keyup(function() {
var val = $(this).val();
if (isNaN(val)) {
alert('please enter number');
$(this).val('');
}
var activeObject = canvas.getActiveObject();
activeObject.fontSize = val;
canvas.renderAll();
});
$('#add-text-btn').click(function() {
if ($('#text-font-size').val()) {
var txtfontsize = $('#text-font-size').val();
} else {
var txtfontsize = 40;
}
var message = $('#add-text-value').val();
//var txtfontfamily = $('#font-family').val();
var new_text = new fabric.IText(message, {
left: 100,
top: 100,
fontSize: txtfontsize,
//fontFamily: txtfontfamily,
fill: '#000'
});
canvas.add(new_text);
canvas.setActiveObject(new_text);
});
canvas.on('object:selected', function(options) {
if (options.target) {
$("textarea#add-text-value").val(options.target.text);
$("#text-font-size").val(options.target.fontSize);
}
});
canvas.on('object:scaling', function(options) {
if (options.target) {
$("textarea#add-text-value").val(options.target.text);
$("#text-font-size").val(options.target.fontSize);
}
});
canvas.on('object:modified', function(options) {
if (options.target) {
$("textarea#add-text-value").val(options.target.text);
$("#text-font-size").val(options.target.fontSize);
}
});
});
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="add-text-btn">Add text</button><br><br>
<textarea rows="7" id="add-text-value">Your Text Here</textarea>
<br>
<input id="text-font-size" type="text" class="form-control">
<canvas id='canvas' width="500" height="400" style="border:#000 1px solid;"></canvas>
ma questo questo solo ridimensionare il testo non aumentare/diminuire la dimensione del carattere, ma devo ridimensionare la dimensione del carattere come in this
Grazie per l'aiuto, ora questo funziona su dimensioni dei caratteri (sono decimali), possiamo Dimensione carattere per arrotondare figure qui mi tenta con questo event.target.fontSize * = Math.round (event.target.scaleX); ma non funziona [jsfiddle] (http://jsfiddle.net/1jkh7ooo/) – Dinesh
non è possibile arrotondare il ridimensionamento, altrimenti salterai da 40 a 80 a 120 ... (ridimensionamento 1,2,3). Devi arrotondare il fontSize dopo la moltiplicazione. guarda la risposta aggiornata – AndreaBogazzi
Inoltre noterete qualche problema con la dimensione dell'oggetto che ovviamente salterà ma dovreste anche dire a fabricjs che avete bisogno di un nuovo sistema coordiante per l'oggetto. con setCoords(); – AndreaBogazzi