Wenn die Webseite, die Sie zeichnen möchten, ein Leinwandbild eines bogenförmigen Avatars enthält, der Avatar selbst jedoch quadratisch ist, lautet die erforderliche Methode wie folgt:
Ermitteln Sie zunächst die Koordinaten, die Breite und die Höhe des Avatars auf der Leinwand: (Ich werde hier nicht näher darauf eingehen, wie Sie ihn erhalten.)
sei {avatarX, avatarY, avatarW, avatarH} = {20, 20, 80, 80};
Dann rufen Sie einfach die folgende Funktion auf:
let Canvas = document.createElement('canvas');let ctx = Canvas.getContext(2d);let avatar = new Image();avatar.src = '../src/xx.png';avatar.onload = ( ScaleBy = 2) => { CircleImg(ctx, Avatar, avatarX * ScaleBy, avatarY * ScaleBy, avatarW * ScaleBy / 2);}// r: Radiusfunktion CircleImg(ctx, img, x, y, r) { ctx.save(); var cx = x + r; ctx.arc(cx, cy, r, 0, 2 * Math.PI); ctx.clip(img, x, y, d, d); ctx.restore();}
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.