javascript - 如何将图像放置在正方形画布内?
问题描述
好吧,我的页面上有一个画布元素,其中将是一个蛇游戏。我正在尝试将一张图像放在画布的正方形内,并带有context.drawImage()
.
波纹管你可以看到我想要什么:
[
我在上下文中的加载图像代码是:
function SnakeTexture(context, x, y) {
const Texture = new Image();
Texture.src = '../../assets/images/snake.png';
Texture.onload = () => {
context.drawImage(Texture, x, x, 16, 16);
}
}
export { SnakeTexture };
在主文件中,它们出现在此处:
/* GAME CONTEXTS */
const context = canvasRef.current.getContext("2d");
context.setTransform(16, 0, 0, 16, 0, 0);
context.clearRect(0, 0, 320, 320);
/* SNAKE STYLE */
SnakeTexture(context, snake[0], snake[1])
我努力了:
- 在加载之后放置 Texture.src。
- 使用 URL 作为图像 src。
- 更改纹理的大小。
解决方案
我做的!我正在使用 Node.js,所以我安装了一个依赖调用画布,有一个 loadImage 函数,所以,我所做的只是:
loadImage(SnakeTexture).then(img => {
snake.forEach(([x, y]) => context.drawImage(img, x, y, 1, 1));
})
推荐阅读
- c - 如何使用 GSL 库从两个复杂变量中插入一个复杂函数?
- angular - 如何修复 'ERROR TypeError: 无法读取 ANGULAR 中未定义的属性'用户名''
- ios - 为什么苹果在压缩之前对 .ipa 进行加密?
- python-3.x - 使用自定义输入训练 spacy 模型
- python - 如何限制线程池中线程的 nr 以实现无限迭代?
- assembly - 对 MIPS j 和 beq 指令使用十六进制值
- python-3.x - 如何覆盖 `TemplateView.as_view()` 并使用 ConfirmEmailView 进行电子邮件验证?
- html - 我的 svg 轮廓不完全在 svg 边缘
- java - 字符串的 charAt(0) 未返回预期值
- spring-boot - oauth2 资源服务器是否应该询问身份验证服务器上的 Userinfo 端点