How to draw border around canvas

≯℡__Kan透↙ 提交于 2019-12-30 23:01:50

问题


I am drawing an image on a canvas with white background color. I want to draw a border around the canvas and I am unable to do so. Here is my code:

canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext('2d');
context.fillStyle = "black";
context.font = "50px Arial";
context.fillText(chartId, 0, 50);
context.drawImage(image, 0, 0);
context.globalCompositeOperation = "destination-over";
context.fillStyle = "#FFFFFF";
context.fillRect(0,0,canvas.width,canvas.height);//for white background

after this i want a red border to appear around the whole canvas.


回答1:


Set context.lineWidth to 2, set context.strokeStyle to #FF0000", and use context.strokeRect, not fillRect. globalCompositeOperation if set to destination-over, then the newly apply thing will use canvas's value, so change to source-over. Used lightblue to fake the drawImage in your code

var canvas = document.getElementById('cv');
canvas.width = 400;
canvas.height = 300;
var context = canvas.getContext('2d');
context.fillStyle = "black";
context.font = "50px Arial";
context.fillText('ASD', 0, 50);
context.globalCompositeOperation = "destination-over";
context.fillStyle = "#00FFFF";
context.fillRect(0,0,canvas.width,canvas.height);//for white background
context.globalCompositeOperation = "source-over";
context.lineWidth = 2;
context.strokeStyle="#FF0000";
context.strokeRect(0, 0, canvas.width, canvas.height);//for white background
<canvas id="cv"></canvas>


来源:https://stackoverflow.com/questions/31045689/how-to-draw-border-around-canvas

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!