@zaxerion/k-canvas
Version:
cuma update url dari base knights canvas
65 lines (49 loc) • 1.6 kB
JavaScript
const Canvas = require("canvas");
module.exports = class Bonk {
constructor() {
this.bg = "https://raw.githubusercontent.com/Zaxerion/databased/refs/heads/main/asset/11.jpg";
this.bg2 = "https://raw.githubusercontent.com/Zaxerion/databased/refs/heads/main/asset/22.png";
this.avatar1 = "https://raw.githubusercontent.com/Zaxerion/databased/refs/heads/main/asset/rin.jpg";
this.avatar2 = "https://raw.githubusercontent.com/Zaxerion/databased/refs/heads/main/asset/IMG-20210621-WA0000.jpg";
}
//avatar
setAvatar1(value) {
this.avatar1 = value;
return this;
}
setAvatar2(value) {
this.avatar2 = value;
return this;
}
async toBuild() {
// Create canvas
const canvas = Canvas.createCanvas(600, 337);
const ctx = canvas.getContext("2d");
//NGENTOT AJG 🖕🏻
// Draw background
let background1 = await Canvas.loadImage(this.bg);
ctx.drawImage(background1, 0, 0, 600, 337);
ctx.save();
ctx.beginPath();
ctx.ellipse(422, 175, 40, 55, Math.PI / 4, 0, 2 * Math.PI);
ctx.stroke();
ctx.closePath();
ctx.clip();
let avawtar = await Canvas.loadImage(this.avatar1);
ctx.drawImage(avawtar, 373, 115, 110, 110);
ctx.restore();
let background2 = await Canvas.loadImage(this.bg2);
ctx.drawImage(background2, 0, 0, 600, 337);
ctx.save();
ctx.beginPath();
ctx.arc(105, 100, 48, 0, Math.PI * 2, true);
//ctx.ellipse(95, 106, 50, 75, Math.PI / 2, 0, 2 * Math.PI);
ctx.stroke();
ctx.closePath();
ctx.clip();
let avatar = await Canvas.loadImage(this.avatar2);
ctx.drawImage(avatar, 57, 56, 96, 96);
ctx.restore();
return canvas;
}
};