// ========================================== // 1. Teacher (老师) // ========================================== let ctxTeacher = getCtx('teacher'); if (ctxTeacher) { const cx = 100, cy = 92; // 黑板 (放大) ctxTeacher.fillStyle = '#659E7A'; drawRoundedRect(ctxTeacher, cx - 70, cy - 52, 90, 58, 6); ctxTeacher.fill(); applyStroke(ctxTeacher); ctxTeacher.fillStyle = '#FFFFFF'; ctxTeacher.font = '16px Arial'; ctxTeacher.fillText('A B', cx - 45, cy - 26); ctxTeacher.fillText('C', cx - 52, cy - 6); // 身体/红衣服 ctxTeacher.fillStyle = '#C84439'; drawRoundedRect(ctxTeacher, cx - 28, cy + 12, 56, 48, 10); ctxTeacher.fill(); applyStroke(ctxTeacher); // 头发后半部分 ctxTeacher.fillStyle = '#784832'; drawRoundedRect(ctxTeacher, cx - 30, cy - 14, 60, 54, 14); ctxTeacher.fill(); applyStroke(ctxTeacher); drawFace(ctxTeacher, cx, cy); // 刘海 ctxTeacher.fillStyle = '#784832'; ctxTeacher.beginPath(); ctxTeacher.arc(cx, cy - 6, 24, Math.PI, 0); ctxTeacher.fill(); applyStroke(ctxTeacher); // 蓝皮书 ctxTeacher.fillStyle = '#2A4A8E'; drawRoundedRect(ctxTeacher, cx - 20, cy + 24, 40, 34, 3); ctxTeacher.fill(); applyStroke(ctxTeacher); ctxTeacher.beginPath(); ctxTeacher.moveTo(cx, cy + 24); ctxTeacher.lineTo(cx, cy + 58); ctxTeacher.stroke(); drawLabel(ctxTeacher, 'teacher', '老师'); }