gpt4 book ai didi

javascript - 网络聊天上的群聊圈,就像 Facebook 群聊 UI

转载 作者:行者123 更新时间:2023-12-03 08:13:50 25 4
gpt4 key购买 nike

enter image description here每个人。我正在尝试为我的大学项目开发​​一个群聊用户界面。但我发现很难将用户的个人资料图像组合在一个圆形框架中。如果没有组配置文件,我想在圆形框架中添加 2 或 3 个用户。我在 Google 上搜索,它说我要使用 Canvas 。我试试这个。这不起作用。如何将两个或多个用户合并到一个圆形框架中?这是我的代码。

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

var img1 = loadImage('1.png');
var img2 = loadImage('2.png');

var imagesLoaded = 0;
function main() {
imagesLoaded += 1;

if(imagesLoaded == 2) {
// composite now
ctx.drawImage(img1, 0, 0);

ctx.globalAlpha = 0.5;
ctx.drawImage(img2, 0, 0);
}
}

function loadImage(src, onload) {

var img = new Image();

img.onload = onload;
img.src = src;

return img;
}

最佳答案

如果你想使用canvas获取,你必须使用globalCompositeOperation:

var c = document.getElementById('c');
var img = new Image();
var ctx = c.getContext("2d");

img.onload = function() {
ctx.drawImage(img, 0, 0, 308, 308);
ctx.drawImage(img, 312, 0, 308, 308);
ctx.drawImage(img, 0, 312, 308, 308);
ctx.drawImage(img, 312, 312, 308, 308);
}
c.width= 620;
c.height=620;
ctx.fillStyle = "#FFFFFF";
ctx.beginPath();
ctx.arc(310,310,310,0,2*Math.PI);
ctx.fill();
ctx.globalCompositeOperation='source-atop';
img.src = "http://images.movieplayer.it/images/2015/09/28/avatar-1.jpg";
<canvas  id ="c" ></canvas>

否则,您可以将具有边框半径的类应用于 Canvas :

var c = document.getElementById('c');
var img = new Image();
var ctx = c.getContext("2d");

img.onload = function() {
ctx.drawImage(img, 0, 0, 308, 308);
ctx.drawImage(img, 312, 0, 308, 308);
ctx.drawImage(img, 0, 312, 308, 308);
ctx.drawImage(img, 312, 312, 308, 308);
}
c.width= 620;
c.height=620;
img.src = "http://images.movieplayer.it/images/2015/09/28/avatar-1.jpg";
.rounded {
border-radius: 310px;
}
<canvas  id ="c" class="rounded" ></canvas>

关于javascript - 网络聊天上的群聊圈,就像 Facebook 群聊 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34036036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com