我有一个画布与一些图片,我想加载到一个纹理,很像一个图像与ImageUtils。正如你所知道的,canvas没有“完成”的渲染回调,所以我在这里只能听命于三个。我遇到过this,但这似乎与AJAX紧密结合在一起。
发布于 2015-10-10 06:15:32
您可以从画布中读取图像作为数据url:
var canvas = document.getElementById("canvas");
var dataURL = canvas.toDataURL();
在画布上执行drawImage之后,图像数据就已经在其中了。
然后,这些数据urls可以用作Three.js中的纹理。
var texture = THREE.ImageUtils.loadTexture(dataURL);
更新
你也可以试着这样调试:
var texture = THREE.ImageUtils.loadTexture(dataURL, undefined, function(texture){
// Handler for onLoad, this returns the img
console.log(texture);
},
function(event){
// Handler for onError, it returns the error event
console.log(event);
});
https://stackoverflow.com/questions/33007680
复制相似问题