Javascript p5.js三维草图中的背景图像
我有一个p5.js三维草图。我必须设置它的背景图像。我知道我们可以在二维草图中使用相同的Javascript p5.js三维草图中的背景图像,javascript,html5-canvas,p5.js,Javascript,Html5 Canvas,P5.js,我有一个p5.js三维草图。我必须设置它的背景图像。我知道我们可以在二维草图中使用相同的background()函数轻松实现它,但在三维草图中是不可能的 我在谷歌上搜索了一些技巧,发现我可以有一个平面,背面有画布的尺寸,然后使用纹理()设置其背景图像,如下图所示 var img; function preload() { img = loadImage("img.png"); } function setup() { createCanvas(600, 600,
background()
函数轻松实现它,但在三维草图中是不可能的
我在谷歌上搜索了一些技巧,发现我可以有一个平面
,背面有画布的尺寸,然后使用纹理()
设置其背景图像,如下图所示
var img;
function preload() {
img = loadImage("img.png");
}
function setup() {
createCanvas(600, 600, WEBGL);
}
function draw() {
background(220);
push();
texture(img);
plane(600, 600);
pop();
}
但问题是——我必须在草图中使用orbitControl()
。因此,当我四处拖动时,背景(平面
)也会移动。我希望我的背景是静态的(当我移动其他对象时,背景不应该移动)
最后,我使用cssbackground image
属性设置canvas
的背景图像,并在draw()函数中删除background(255)
。但是由于这个原因,当我拖动对象时,背景(以前的帧)没有重叠,并且也是可见的
在这种情况下,如何实现背景图像
我的草图可以在上找到,我认为你的CSS方法很好,只是不确定为什么要在尺寸上使用封面
。
您的图像宽1365px,但画布仅为600px,其中大部分将被隐藏,文本将无法完全看到,但在将来,如果您使用cover
更改图像,效果可能会很好
这是我用过的
canvas {
display: block;
background-image: url("https://static.vecteezy.com/system/resources/previews/000/118/983/original/free-vector-cityscape.jpg");
background-size: contain;
background-repeat: no-repeat;
}
…并且不移除背景,设置alphabackground(0,0,0,0)代码>
这是工作示例:
我还在示例中添加了smooth()
:
差异是显而易见的,请在此处阅读更多信息:
谢谢。我以前没想过alpha值。