[英]Is there a way to export a 3D model to a PNG image with Three.js
我想用Three.js創建一個3D車輛模型的網頁,從中可以選擇視角。 之后,您應該能夠從該角度下載具有透明背景的該車輛的PNG圖像。
Three.js部分沒有問題。 但是下載圖像是一個問題
您可以訪問Three.js在其中渲染3D場景的canvas
元素,並使用它來創建其內容的下載。 已經有一個關於此問題的Stackoverflow帖子 。
three.js是一個webgl庫,它繪制<canvas>
。
<canvas>
可以隨時作為圖像保存。
將three.js WebGLRenderer prepareDrawingBuffer設置為true:
const renderer = new THREE.WebGLRenderer({alpha: true,preserveDrawingBuffer: true });
將畫布另存為圖像:
<button id="save"> save image</button>
document.getElementById('save').onclick=()=>{
saveImage()
}
function saveImage() {
const canvas = document.getElementsByTagName("canvas")[0]
const image = canvas.toDataURL("image/png");
const a = document.createElement("a");
a.href = image.replace(/^data:image\/[^;]/, 'data:application/octet-stream');
a.download="image.png"
a.click();
}
codepen鏈接: https ://codepen.io/alwxkxk/pen/JjPMyNW
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.