Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在three.js中的网格上显示QRcode?_Javascript_Three.js_Qr Code - Fatal编程技术网

Javascript 如何在three.js中的网格上显示QRcode?

Javascript 如何在three.js中的网格上显示QRcode?,javascript,three.js,qr-code,Javascript,Three.js,Qr Code,我从这里获取QRcode库,并希望使用以下代码将其作为纹理显示在网格对象的面上: var qrcode = new QRCode( "test", { text: "http://jindo.dev.naver.com/collie", width: 128, height: 128, colorDark : "#000000", colorLight : "#ffffff", correctLevel : QRCode.CorrectLevel.

我从这里获取QRcode库,并希望使用以下代码将其作为纹理显示在网格对象的面上:

var qrcode = new QRCode( "test", {
    text: "http://jindo.dev.naver.com/collie",
    width: 128,
    height: 128,
    colorDark : "#000000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
});
...
var cuboidTexture = THREE.ImageUtils.loadTexture( qrcode );
cuboidTexture.needsUpdate = true;
但它给了我一个错误:

Uncaught TypeError: Cannot call method 'appendChild' of null qrcode.min.js:1
是我做错了什么吗?或者我不能用QR码作为纹理

编辑: 使用qrcode.js库时,错误相同:

Uncaught TypeError: Cannot call method 'appendChild' of null qrcode.js:359
应该是:

var cuboidTexture = new THREE.Texture( test );
cuboidTexture.needsUpdate = true;

var material = new THREE.MeshBasicMaterial( { map: cuboidTexture } );

第一个参数测试必须是您希望二维码的DOM元素的ID

HTML:

其余内容请参见


PS:ID测试的示例没有很好的文档记录-

我知道这不是你问的问题,而是QRCode->3D:错误来自QRCode。您是否可以使用qrcode.js而不是qrcode.min.js来查看错误发生的位置from@gaitat好吧,把错误放在一边,因为QRCode->3d意味着我不能将它用作这样的网格的纹理?var cuboidTexture=THREE.ImageUtils.loadTexture qrcode;我应该如何将网格的面显示为qrcode?[或者至少要显示qr图像,不显示其他信息,如文本]不,不,不。我的第一篇帖子意味着你可以看到你的qr码是3d的,而不是你所做的是错误的。我发布的示例并不使用您正在使用的qrcode库。那么回到你的错误,你能用qrcode.js而不是qrcode.min.js来看看错误是从哪里来的吗。我用编辑问题的方式回答了这个问题,这样立方体纹理就会变得“未定义”:未捕获类型错误:无法设置未定义的属性“needsUpdate”你能创建一个简单的JSFIDLE来演示这个问题吗?我放弃了,我决定用一种更简单的方式来做:我只是把QRcode的图像放在一个文件夹里,然后把它们作为普通纹理使用。无论如何,谢谢你的时间和耐心。
<div id="foo"></div>
var qrcode = new QRCode("foo");