Ich versuche, die Leinwand mit p5.js zusammen mit einem div zu skalieren, in dem es sich befindet, wenn man auf eine Schaltfläche klickt, die dieses div vergrößert. Ich brauche die Leinwand nicht neu laden, sondern brauche sie nur, um zusätzliche Höhe hinzuzufügen. Gibt es einen Weg, es zu tun? Ich habe versucht, die Leinwand Breite 100% und Höhe: Auto, aber es funktioniert nicht. Bitte, sehen Sie den Code unten:p5.js: Größe der Canvas-Höhe ändern, wenn div die Höhe ändert
<div class="canvas-wrapper">
<div id="canvas"></div>
</div>
<button type="button" class="button" id="extend-canvas">Extend</button>
Scripts:
function setup() {
var myCanvas = createCanvas(498, 598);
myCanvas.parent('canvas');
}
$("#extend-canvas").click(function() {
var canvasHeight = $(".canvas-wrapper").height();
$(".canvas-wrapper").height(canvasHeight + 300);
});
CSS:
.canvas-wrapper {
margin: 0 auto;
background: #fff;
width: 500px;
height: 600px;
position: relative;
}
#canvas canvas {
width: 100% !important;
height: auto !important;
}
https://github.com/processing/p5.js/issues/207 Größenänderung mit c.size (width-10, height-10); (Sie müssen das Add-on p5.dom.js laden, um die Größenmethode zu verwenden.) – GhitaB
Das funktioniert, aber die Arbeitsfläche wird neu geladen und wird leer und alle Informationen, die ich hinzufüge (ich zeichnete einige Zeilen mit meiner Maus) verschwinden . – Kaori
https://p5js.org/reference/#/p5/resizeCanvas – GhitaB