如何使用Three.js获取纹理尺寸
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Three.js获取纹理尺寸相关的知识,希望对你有一定的参考价值。
我想知道是否有可能获得纹理的尺寸?我用这行来设置我的纹理:
const texture = THREE.ImageUtils.loadTexture(src)
也许有必要加载图像来获得它的尺寸(但是只有javascript,而不是html和它的div?)?
我想我之后创建的材质适合纹理尺寸。
答案
首先,THREE.ImageUtils.loadTexture
在最新的THREE.js(r90)中被弃用。请看看THREE.TextureLoader
。
也就是说,您可以从加载的纹理中获取图像及其属性。
texture.image
根据图像格式,您应该能够访问width
/ height
属性,这将是纹理的尺寸。
请注意:加载纹理是异步的,因此您需要定义onLoad
回调。
var loader = new THREE.TextureLoader();
var texture = loader.load( "./img.png", function ( tex ) {
// tex and texture are the same in this example, but that might not always be the case
console.log( tex.image.width, tex.image.height );
console.log( texture.image.width, texture.image.height );
} );
以上是关于如何使用Three.js获取纹理尺寸的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 THREE.js 向 collada 文件 (.dae) 添加纹理?
three.js如何使纹理“生成”纹理坐标,就像搅拌器循环一样