0
我一直試圖在div中設置p5.js畫布,並使用divs寬度來控制畫布寬度,在jekyll文章中。在markdown文件中,我構建了一個我知道的div,位於帖子的頂部。如何使用父div屬性設置畫布寬度/高度
<div id="myCanvas"</div>
<script src="/js/p5Sketches/firstP5Sketch.js" type="text/javascript"></script>
在javascript中我已將p5.js畫布分配給div。我試圖得到父母的div clientWidth,但我得到了一些非常奇怪的輸出。
var canvasDiv = document.getElementById('myCanvas');
var width = canvasDiv.clientWidth;
function setup() {
var sketchCanvas = createCanvas(width,450);
sketchCanvas.parent("myCanvas");
}
function draw() {
if (mouseIsPressed){
fill(0);
} else {
fill(255);
}
ellipse(mouseX, mouseY, 40, 40);
if (keyIsPressed == true){
clear();
}
}
function windowResized() {
resizeCanvas(width,450);
}
當我打印出canvasDiv屬性我得到正確clientWidth值(844px),但是然後打印出寬度可變的,並且它是1244px。在鉻檢查器中,p5畫布的寬度= 100px。
<canvas id="" width="200" height="900" style="width: 100px !important; height: 450px !important;" class=""></canvas>
該值沒有傳遞到p5畫布上,我找不出原因。另外,我沒有使用任何CSS來設計myCanvas或canvas元素。
在此先感謝。
A
回答
1
您需要內setup()
默認寬度和高度捕捉父元素信息setup()
是100×100。如果在setup()中沒有定義寬度,它將被默認值覆蓋。從文檔:
系統變量的寬度和高度由傳遞給此函數的參數 設置。如果未使用createCanvas(),則默認大小爲100x100像素的窗口將爲 。
https://p5js.org/reference/#/p5/createCanvas
其中我測試,在此圖像中證明:
下面是正確的代碼,你應該更換你的設置()函數:
function setup() {
var canvasDiv = document.getElementById('myCanvas');
var width = canvasDiv.offsetWidth;
var sketchCanvas = createCanvas(width,450);
console.log(sketchCanvas);
sketchCanvas.parent("myCanvas");
}
+0
非常感謝Adib的幫助。 –
相關問題
- 1. HTML5畫布高度和寬度屬性
- 2. 如何獲得父DIV寬度並設置子DIV寬度
- 3. 設置寬度/高度時,在HTML5畫布中禁用重置
- 4. 畫布高度和寬度
- 5. 如何設置父div高度自適應內部div高度?
- 6. 如何設置父高度/寬度爲可編輯span-child的高度/寬度?
- 7. 設置DIV高度父
- 8. 如何使用屏幕分辨率設置div高度/寬度?
- 9. 如何使用JavaScript設置div標籤的高度和寬度?
- 10. 將div的寬度設置爲無寬度屬性的div的「顯示寬度」
- 11. viewBox屬性與SVG的高度和寬度屬性設置
- 12. 如何設置位圖的圖像高度和寬度屬性
- 13. 如何正確設置寬度和AMP-IMG的高度屬性
- 14. 在div上設置寬度屬性?
- 15. 用CSS設置畫布寬度和高度移動筆
- 16. 根據寬度設置div高度
- 17. 設置div高度等於寬度(javascript)
- 18. 設置圖像高度=寬度(不DIV)
- 19. jQuery - 設置div寬度等於高度
- 20. 如何在固定寬度div上設置div高度
- 21. 將div的寬度設置爲父級父寬度
- 22. 如何使畫布響應根據div的父寬度
- 23. 如何使用ControlTemplate設置控件的寬度或高度屬性?
- 24. angular.js - 設置陣列的寬度和高度farbricjs畫布
- 25. 設置自定義視圖的畫布寬度和高度Android
- 26. 根據圖像動態設置畫布寬度和高度
- 27. 將高度和寬度設置爲父母高度/寬度的分數?
- 28. 使用setRotation後設置寬度/高度
- 29. 無法使用CSS寬度屬性設置div的像素寬度
- 30. 如何設置jqModal的高度寬度?
所有我能看到的都是這樣的一個小錯誤:'
感謝Adib,我在代碼中確實收到了>,這是帖子中的一個錯字。 –