MCPcopy Create free account
hub / github.com/TeleBoxOrg/TeleBox_Plugins / avatarBufferToCanvas

Function avatarBufferToCanvas

quote/generate.js:57–80  ·  view source on GitHub ↗
(buffer)

Source from the content-addressed store, hash-verified

55 try {
56 const img = await loadImage(buffer);
57 const size = img.naturalHeight || img.height || img.width;
58 const canvas = createCanvas(size, size);
59 const ctx = canvas.getContext("2d");
60 ctx.beginPath();
61 ctx.arc(size / 2, size / 2, size / 2, 0, Math.PI * 2, true);
62 ctx.save();
63 ctx.clip();
64 ctx.closePath();
65 ctx.drawImage(img, 0, 0, size, size);
66 ctx.restore();
67 return canvas;
68 } catch (error) {
69 console.warn("quote generate: avatar buffer -> canvas failed", error && error.message);
70 return undefined;
71 }
72}
73
74async function bridgeAvatar(message) {
75 if (!message) return;
76 if (!message.avatarCanvas && message.avatarBuffer) {
77 const canvas = await avatarBufferToCanvas(message.avatarBuffer);
78 if (canvas) {
79 message.avatarCanvas = canvas;
80 message.avatar = true;
81 }
82 }
83 if (message.replyMessage && !message.replyMessage.avatarCanvas && message.replyMessage.avatarBuffer) {

Callers 1

bridgeAvatarFunction · 0.85

Calls 2

saveMethod · 0.80
warnMethod · 0.80

Tested by

no test coverage detected