帮我用 canvas 制作一个顶牌,要求:顶部矩形带边框放文字,矩形底部中间是垂线
时间: 2023-08-11 12:51:46 浏览: 80
好的,以下是一个简单的实现方式:
```html
<canvas id="myCanvas" width="200" height="150"></canvas>
```
```javascript
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
// 顶部矩形
ctx.fillStyle = "#fff";
ctx.fillRect(0, 0, canvas.width, 50);
ctx.strokeStyle = "#000";
ctx.strokeRect(0, 0, canvas.width, 50);
// 文字
ctx.fillStyle = "#000";
ctx.font = "24px Arial";
ctx.textAlign = "center";
ctx.fillText("顶牌", canvas.width / 2, 30);
// 垂线
ctx.beginPath();
ctx.moveTo(canvas.width / 2, 50);
ctx.lineTo(canvas.width / 2, canvas.height);
ctx.strokeStyle = "#000";
ctx.stroke();
```
效果图如下:
![顶牌](https://img-blog.csdnimg.cn/20210626101210925.png)
相关问题
帮我用 canvas 制作一个顶牌,要求:顶部矩形带边框放文字,且矩形背景是一张图片。矩形底部中间是垂线
好的,以下是使用 canvas 制作顶牌的代码。请注意,这里的矩形背景图片需要先加载完成才能绘制,所以我们需要在图片加载完成后再进行绘制操作。
```html
<canvas id="myCanvas" width="200" height="100"></canvas>
```
```javascript
// 获取 canvas 元素和上下文
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
// 创建新的图片对象
var bgImg = new Image();
bgImg.src = "your_image_url";
// 监听图片加载完成事件,加载完成后绘制顶牌
bgImg.onload = function() {
// 绘制矩形背景图片
ctx.drawImage(bgImg, 0, 0, 200, 100);
// 绘制顶部矩形带边框和文字
ctx.fillStyle = "#ffffff";
ctx.fillRect(10, 10, 180, 30);
ctx.strokeStyle = "#000000";
ctx.lineWidth = 2;
ctx.strokeRect(10, 10, 180, 30);
ctx.font = "16px Arial";
ctx.fillStyle = "#000000";
ctx.textAlign = "center";
ctx.fillText("顶部文字", 100, 30);
// 绘制矩形底部中间的垂线
ctx.strokeStyle = "#000000";
ctx.lineWidth = 2;
ctx.beginPath();
ctx.moveTo(100, 70);
ctx.lineTo(100, 90);
ctx.stroke();
}
```
其中,`your_image_url`需要替换成您自己的矩形背景图片链接。
您也可以根据需要调整顶牌的大小、位置、颜色等属性。
canvas清除矩形边框
你可以使用`clearRect()`方法清除矩形边框,该方法可以清除指定矩形区域内的所有像素,从而达到清除边框的效果。具体使用方法如下:
```javascript
// 获取canvas元素
var canvas = document.getElementById('my-canvas');
// 获取2D绘图上下文
var ctx = canvas.getContext('2d');
// 清除矩形边框
ctx.clearRect(x, y, width, height);
```
其中,`x`和`y`是矩形左上角的坐标,`width`和`height`是矩形的宽度和高度。你可以根据需要调整这些参数,以达到清除矩形边框的目的。
阅读全文