javascript - 无法在 html5 画布上打开单个像素
问题描述
我的反应应用程序中有以下组件:
<Grid container direction="column" justify="center" alignItems="center" item lg={12}>
<canvas id="canvas" style={{border: '1px solid #000000', minHeight: '89%', minWidth: '99%'}} />
</Grid>
我fillRect()
用来在其中绘制一些像素:
for(let i=-1; i<2; i++) {
for(let j=-1; j<2; j++) {
if (seedContent[i+1][j+1] === '1') {
ctx.fillRect(centerPoint[0]+j, centerPoint[1]+i, 1, 1);
}
}
}
问题是生成的图像不是由单个像素组成,而是像像素化图像一样缩放:
如果我减小画布的大小,如下所示:
<Grid container direction="column" justify="center" alignItems="center" item lg={12}>
<canvas id="canvas" style={{border: '1px solid #000000', minHeight: '10%', minWidth: '10%'}} />
</Grid>
如何在大画布上处理单个像素?
编辑 我发现如果我这样设置画布:
<Grid container direction="column" justify="center" alignItems="center" item lg={12}>
<canvas id="canvas" width='1200' height='600' border="1px solid #FFFFFF" />
</Grid>
我得到了我想要的结果,但我必须设置一个固定的大小:
解决方案
推荐阅读
- javascript - 填充下拉菜单列表
- javascript - Microsoft Teams Adal 静默身份验证失败(iframe 沙箱)
- python - 从多线程python中的列表中选择项目
- laravel - 计算注册类型价格 > 0 的会议中的注册
- regex - 正则表达式改进建议
- c# - 从 URL 获取查询参数到 MVC 视图
- javascript - 出现智能应用横幅时,元素未显示位置底部 0
- scheduled-tasks - 在 CPLEX 中进行任务调度和资源分配时如何对管道处理进行建模?
- java - 如何对 Flink ProcessFunction 进行单元测试?
- python - MongoDB 给出错误“未定义数据库”