如何将背景图片设置为 canvas

How to set the background image to canvas

好吧,我想设置一个 background-image 深度,而不是那个退化的背景。我尝试了很多东西,我尝试了这个社区的很多答案,但没办法......结果是 background-image 不可见或在粒子上方。我只希望 background-image 替换当前的 background-color

我希望任何人都能够用正确的代码帮助我,谢谢,对不起我的英语。

https://codepen.io/at80/pen/tqdmv

<canvas>

不能直接设置canvas图片的背景图片。 whosebug.com 的 link 将详细描述设置背景图像的可能性 Is it possible to set background image in canvas HTML5 and can do some paint functionality like Undo,Erase,Clear,Save that background image?

我无法完全回答您的问题,因为有很多着色器代码需要查看。

您需要做的是确保当片段绘制的不是叶子的东西(例如背景)时,它的 alpha 值为 0.0。最简单的方法是在某处设置 gl_FragColor.a = 0.0;。我是 OpenGL/WebGL 的新手,所以无法通过查找确切的位置或方法来帮助您。

你有很多片段着色器,它们各自做着不同的事情。着色器 <script id="bg_fsh" type="x-shader/x_fragment"> 仅控制背景,但它本身还不够。

在片段着色器中设法使背景透明后,您可以以某种方式设置背景图像,例如在包含 canvas 的 <div> 上,它应该会显示出来。