Ich möchte die Größe eines Rechtecks auf einer Leinwand mithilfe eines Schiebereglers ändern können, während diese Werte in zwei Textfeldern angezeigt werden. Ich habe diesen Code funktioniert, aber es behält die alten Werte auf der Leinwand sichtbar. Ich habe versucht, clearRect()
zu verwenden, bevor ich strokeRect()
aufrufen, aber das hat meine Schieberegler von der Arbeit gestoppt.Ändern der Größe eines Rechtecks in einem Canvas-Element mithilfe von Schiebereglern
Kurz gesagt, ich möchte ein Rechteck auf die Leinwand zeichnen, und es so, dass zwei Schieberegler Größe ändern, einen für die Breite und einen für die Höhe. Ich bin relativ neu in der Programmierung, also weiß ich, dass ich wahrscheinlich einen offensichtlichen Fehler gemacht habe!
Hier ist meine JS-Code die Werte in die Textfelder für das Drucken und Zeichnen des Rechtecks:
$(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");
});
Und mein HTML-Code:
<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>
ja ich erkannte, diese Fehler zu, nachdem ich die Frage gestellt hatte. Deine Vorschläge funktionieren auch und ich habe die Werte auch in meinen Textboxen. Danke nochmal :) –