Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在HTML画布的边框周围放一条线?

如何在HTML画布的边框周围放一条线?
EN

Stack Overflow用户
提问于 2014-03-20 17:37:21
回答 3查看 51K关注 0票数 10

我想在HTML画布中添加一个边框,并认为下面的代码可以做到这一点。

问题:如何在代码和HTML code>中围绕画布放置边框?

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    context.fillStyle = 'red';
    context.strokeStyle = 'black';

下面的代码是整个HTML文件。它没有那么大,所以我把它都粘上了。

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Chapter 4 Example 1: Image Basics</title>
<script src="modernizr.js"></script>
<script type="text/javascript">
window.addEventListener('load', eventWindowLoaded, false);  

function eventWindowLoaded() {
    canvasApp();
}

function canvasSupport () {
    return Modernizr.canvas;
}

function canvasApp(){
    if (!canvasSupport()) {
             return;
    }else{
        var theCanvas = document.getElementById('canvas');
        var context = theCanvas.getContext('2d');

        context.fillStyle = 'red';
        context.strokeStyle = 'black';

        context.font = '20pt Verdana';
        context.fillText('Some text', 50, 50);
        context.strokeText('Some text', 50, 50);

        context.fill();
        context.stroke();
    }

    var spaceShip=new Image();
    spaceShip.src="ship1.png";
    spaceShip.addEventListener('load', eventShipLoaded , false);

    function eventShipLoaded() {
        drawScreen();
    }

    function drawScreen() {
         context.drawImage(spaceShip, 10, 10);
         context.drawImage(spaceShip, 50, 50);
         context.drawImage(spaceShip, 150, 50);
    }
}

</script> 
</head>
<body>
<div style="position: absolute; top: 50px; left: 50px;">
    <canvas id="canvas" width="500" height="500">
        Your browser does not support the HTML 5 Canvas. 
    </canvas>
</div>
</body>
</html>
EN

回答 3

Stack Overflow用户

发布于 2014-03-20 17:40:22

你可以用CSS。下面是一个例子。http://jsfiddle.net/amER5/1/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#canvas {

    height: 100px;
    width: 100px;
    border: 1px solid blue;
}   

或内联:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<canvas id="canvas" width="500" height="500" style="border: 1px solid black;">
    Your browser does not support the HTML 5 Canvas. 
</canvas>
票数 24
EN

Stack Overflow用户

发布于 2014-03-20 20:08:22

如果您想将边框嵌入到画布中,那么只需调用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ctx.strokeRect(0, 0, theCanvas.width, theCanvas.height);

演示

在设置strokeStyle和可选的lineWidth之后。在这种情况下,每次清除画布时都必须更新边框。

如果您只是希望在画布周围有一个边框,并且成为画布位图本身的一部分并不重要(如果您想保存图像),那么只需将CSS应用于画布元素:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
theCanvas.style.border = '1px solid #000'; // adjust as needed

演示

或者直接在标记中使用CSS样式或作为CSS规则。

演示

我建议将父元素(使用CSS规则)上的边框设置为边框(和填充),如果用getBoundingClientRect()进行调整,则会影响鼠标位置。

演示

票数 20
EN

Stack Overflow用户

发布于 2014-03-20 17:43:21

您应该能够通过CSS添加边框,就像在任何CSS中添加边框一样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<canvas style="border:1px solid #000000;" widt...

内嵌应该可以。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22548618

复制
相关文章
Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
从上面的错误信息我们来抓重点看就是第一行 verbose stack Error: Unsupported URL Type "npm:": npm:@elastic/elasticsearch@7.13.0
HoneyMoose
2021/09/11
7.7K0
Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
webpack、npm 错误汇总
原因: 版本10 fs.promises的API是实验性的,webstorm不允许使用。
城市中的游牧民族
2018/07/18
2.7K1
npm 安装 electron taobao镜像 404错误 自用 实践笔记
1.问题描述 npm淘宝镜像竟然去5.0.8目录寻找9.1.2版本,这个当然要404了。 2. 先定位下自己的环境 2.1使用taobao镜像 nrm还不知道啥玩意的话,看我另一篇用nrm轻松管理
cookily
2020/09/10
2.7K0
npm 常见错误记录
1.Module build failed: ReferenceError: Unknown plugin "import" specified in "base" at 0, attempted to resolve relative to "projectFolder/src" at Array.map (native) @ multi main
用户2417870
2019/09/16
1.6K0
webpack、npm 相关错误汇总
使用webstorm搭建vue项目,报如上错误。 本地node版本为10。 原因: 版本10 fs.promises的API是实验性的,webstorm不允许使用。 解决:卸载掉原有node.js,重新安装node.js 8版本。
城市中的游牧民族
2019/02/21
2.6K0
webpack、npm 相关错误汇总
npm 常见错误记录
这种错误可能是由权限问题或者是网络问题引起的,可以尝试加 sudo 解决或者是修改npm的源
ydymz
2022/05/09
3980
npm安装模块 npm 删除模块
npm安装模块 【npm install xxx】利用 npm 安装xxx模块到当前命令行所在目录; 【npm install -g xxx】利用npm安装全局模块xxx; 【npm install xxx】安装但不写入package.json; 【npm install xxx –save】 安装并写入package.json的”dependencies”中; 【npm install xxx –save-dev】安装并写入package.json的”devDependencies”中。 npm
meowrain
2021/04/22
2.3K0
npm 安装yarn
Yarn是Facebook最近发布的一款依赖包安装工具。Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管理工具
全栈程序员站长
2022/07/22
2.9K0
npm 安装yarn
npm install 报4048的错误
一开始是以为权限的问题,后管理员的方式打开命令,也看了很多网上的解决方法,像删除node_modules文件,删除npm缓存 npm cache clean --force,重新 npm install下载也都还是不行。最后通过 cnpm 成功安装了依赖
xyzzz
2020/12/01
7K0
【npm】详解npm的模块安装机制
啦啦啦321
2018/01/03
1.8K0
【npm】详解npm的模块安装机制
npm的安装方法
由于低版本的Linux系统又不能及时更新源的问题,导致使用npm的插件不能正常工作,需要最新版本。
Qt君
2019/07/15
1.7K0
npm的安装方法
npm(macOS)安装步骤
原文:https://my.oschina.net/piscdong/blog/3113475
PHP开发工程师
2021/04/22
3.4K0
Centos 系统安装 NPM
1.下载 cd home wget https://nodejs.org/dist/v14.18.1/node-v14.18.1-linux-x64.tar.xz 2.解压 tar -xvf node-v14.18.1-linux-x64.tar.xz 3.配置环境变量 vim /etc/profile 在文件最后添加以下配置: #Node export NODE_HOME=/home/node-v14.18.1-linux-x64 export PATH=$NODE_HOME/bin:$PATH 4.刷新
灰太狼学Java
2022/06/17
1.7K0
npm安装PYTHON env
最近拉了几个GitHub的项目,好多个安装依赖的时候就报错了,其中一个node-sass的我是真没想到。
wade
2022/06/20
2K0
npm安装PYTHON env
npm和cnpm安装
1.npm安装 (1)去nodejs官网下载:http://nodejs.cn/download/ (2)安装到目录C:\Program Files\nodejs下 (3)打开命令提示符窗口,window+R,输入cmd 命令行输入npm -v
全栈程序员站长
2022/11/04
3.2K0
npm和cnpm安装
npm无法安装sharp
但是在使用npm/yarn对sharp安装时经常会出现安装失败的问题,主要原因是安装源的问题所以我们可以选择为包管理器换源或者手动下载并安装。
用户6256742
2022/07/06
10.7K0
npm publish package 开发错误集合
这是【npm publish package】的最后一篇文章,总结了开发时需要注意的要点还有目前我自己遇到的错误集合。
林小帅
2020/04/08
1.2K0
npm publish package 开发错误集合
卸载npm和安装npm_使用`npm uninstall`卸载npm软件包「建议收藏」
To uninstall a package you have previously installed locally (using npm install <package-name> in the node_modules folder, run
全栈程序员站长
2022/07/25
3.4K0
点击加载更多

相似问题

NPM安装- npm错误!代码EINVALIDTYPE

111

npm错误!论npm的安装

13

npm安装错误& npm警告

14

NPM安装错误

225

安装时NPM错误

19
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文