我目前正在探索three.js所,並在我的小項目。 該項目包含一個專注於3D模型和動畫的畫布,以及另一個處理更簡單2D作品的畫布。2D畫布(後面的3D Canvas)的未繪製圖像
我已經設置了3D畫布正確,所以它的背景是透明的,我可以看到我箱手動繪製2D畫布,這使我假設的設置是正確的。
我遇到的問題是,當涉及到的圖像。我根本無法在2D畫布上顯示圖像。我已經在一個單獨的項目上進行了試驗,並且可以在那裏繪製圖像,沒有問題。該代碼是非常基本的,我居然發現它在這裏,但如下:
window.onload = function() {
var canvas = document.getElementById('bgcanvas');
var context = canvas.getContext('2d');
var logoText = new Image();
logoText.onload = function() {
context.drawImage(logoText, 69, 50);
};
logoText.src = 'images/logotext.png';
}
#canvas {
\t position: fixed;
\t z-index: 0;
}
#bgcanvas {
\t z-index: -10;
\t position: fixed;
\t width: 100vw;
\t height: 100vh;
}
<div id="fixedContainer">
<canvas id="bgcanvas"></canvas>
<canvas id="canvas"></canvas>
</div>
這是怎麼回事,我是不知道的? 提前致謝!
UPDATE編輯:這個問題是我必須在其左上角是透明的圖像,並且不知道圖像將伸展。 user3412847的評論讓我看着辦吧
只是一個fyi:如果你不知道並開始懷疑爲什麼你的圖像看起來很奇怪(拉伸),這是因爲你已經在CSS中設置了畫布的寬度和高度。一個畫布的標準尺寸是300x150像素,使用CSS來改變尺寸會拉伸它。相反,使用'canvas.width = 100;'和'canvas.height = 100'來改變畫布的大小。 – Niddro
我沒有意識到這一點,感謝您的提示!一旦圖像問題消失,我會更改我的代碼! –