Jika halaman web yang ingin Anda gambar berisi gambar kanvas avatar berbentuk busur, tetapi avatarnya sendiri berbentuk persegi, cara yang diperlukan adalah sebagai berikut:
Pertama, dapatkan koordinat, lebar dan tinggi avatar di kanvas: (Saya tidak akan menjelaskan secara detail di sini tentang cara mendapatkannya)
misalkan {avatarX, avatarY, avatarW, avatarH} = {20, 20, 80, 80};
Kemudian panggil saja fungsi berikut:
biarkan Canvas = document.createElement('canvas');let ctx = Canvas.getContext(2d);let avatar = new Image();avatar.src = '../src/xx.png';avatar.onload = ( scaleBy = 2) => { lingkaranImg(ctx, avatar, avatarX * scaleBy, avatarY * scaleBy, avatarW * scaleBy / 2);}// r: fungsi radius lingkaranImg(ctx, img, x, y, r) { ctx.save(); var d =2 * r; var cx = x + r; ctx.arc(cx, cy, r, 0, 2 * Matematika.PI); ctx.clip(); ctx.drawImage(img, x, y, d, d); ctx.pemulihan();}
Di atas adalah keseluruhan isi artikel ini, saya harap dapat bermanfaat untuk pembelajaran semua orang. Saya juga berharap semua orang mendukung VeVb Wulin Network.