Je souhaite pouvoir redimensionner un rectangle sur un canevas à l'aide d'un curseur, tout en affichant ces valeurs dans deux zones de texte. J'ai ce code qui fonctionne, mais il conserve les anciennes valeurs visibles sur le canevas. J'ai essayé d'utiliser clearRect()
avant d'appeler strokeRect()
, mais cela a empêché mes curseurs de fonctionner. En bref, je veux dessiner un rectangle sur le canevas, et le faire en sorte que deux curseurs le redimensionnent, un pour la largeur et un pour la hauteur. Je suis relativement nouveau au codage, donc je sais que j'ai probablement fait une erreur évidente!Redimensionnement d'un rectangle dans un élément de canevas à l'aide des valeurs de curseur
Voici mon code JS pour l'impression des valeurs dans les zones de texte et le dessin du rectangle:
$(function() {
var c1=document.getElementById("c1");
var ctx1=c2.getContext("2d");
$("#slider1").slider({
value:100,
min: 10,
max: 500,
step: 10,
slide: function(event, ui) {
$("#textBox1").val(ui.value + "cm");
ctx1.strokeRect(0, 0,$("#slider1").slider("value"), $("#slider2").slider("value"));
}
});
$("#slider2").slider({
value:100,
min: 10,
max: 500,
step: 10,
slide: function(event, ui) {
$("#textBox2").val(ui.value + "cm");
ctx1.strokeRect(0, 0,$("#slider1").slider("value"), $("#slider2").slider("value"));
}
});
$("#textBox1").val($("#slider1").slider("value") + "cm");
$("#textBox2").val($("#slider2").slider("value") + "cm");
});
Et mon code HTML:
<div id="slider1" class="slider"></div>
<input type="text" id="textBox1" class="sizeBox" value="100cm">
<label>Height</label></input>
<br>
<div id="slider2" class="slider"></div>
<input type="text" id="textBox2" class="sizeBox" value="100cm">
<label>Width</label></input>
<canvas id="c1"></canvas>
oui, je réalise les fautes de frappe trop après avoir posé la question. Vos suggestions fonctionnent aussi, et j'ai aussi les valeurs affichées dans mes zones de texte. Merci encore :) –