[]请问Texture2D如何用base64字符串构建对象
贴图对象的常规创建方式是:1、下载url对应的图片;2、创建html中的image对象;3、image对象加载完毕后创建贴图对象并把image对象传递到贴图对象内部。
楼主你已经拿到了图片的base64字符串了,只需自己去实现第2、3步骤就行了。我这里直接把代码贴图来供你参考。如果你觉得答得好就点赞加关注吧,红包不要也罢!
let base64 = "你的base64字符串";
let image: HTMLImageElement = document.createElement("img");
let onImageLoaded: EventListenerOrEventListenerObject = () => {
image.removeEventListener("load", onImageLoaded);
let texture: Texture2D = new Texture2D();
texture.onAsynLoaded(null, image, );
//接下来就可以把贴图对象赋值给材质了
};
image.addEventListener("load", onImageLoaded);
image.src = base64;
楼主你已经拿到了图片的base64字符串了,只需自己去实现第2、3步骤就行了。我这里直接把代码贴图来供你参考。如果你觉得答得好就点赞加关注吧,红包不要也罢!
let base64 = "你的base64字符串";
let image: HTMLImageElement = document.createElement("img");
let onImageLoaded: EventListenerOrEventListenerObject = () => {
image.removeEventListener("load", onImageLoaded);
let texture: Texture2D = new Texture2D();
texture.onAsynLoaded(null, image, );
//接下来就可以把贴图对象赋值给材质了
};
image.addEventListener("load", onImageLoaded);
image.src = base64;
用ES6语法要考虑浏览器的兼容性,有些浏览器是不支持的。
要回复问题请先登录
Laya_XSN • 2018-05-19 14:36
好久没看源码了,抱歉,谢谢指点!