private void AfroHair(XmlDocument document, XmlElement paper, int width, int height) { var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M 25,250" + "a 210,150 0 1 1 352,0" + "c 0,0 -180,-150 -352,0"); FaceHelper.ScaleCentered(e, FaceHelper.FatScale(Fatness), 1, width, height); }
private void NormalShortHair(XmlDocument document, XmlElement paper, int width, int height) { var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M 200,100" + "c 0,0 180,-10 176,150" + "c 0,0 -180,-150 -352,0" + "c 0,0 0,-160 176,-150"); FaceHelper.ScaleCentered(e, FaceHelper.FatScale(Fatness), 1, width, height); }
private void FlatTopHair(XmlDocument document, XmlElement paper, int width, int height) { var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M 25,60" + "h 352" + "v 190" + "c 0,0 -180,-150 -352,0" + "v -190"); FaceHelper.ScaleCentered(e, FaceHelper.FatScale(Fatness), 1, width, height); }
/// <summary> /// Generic open mouth /// </summary> /// <param name="document"></param> /// <param name="paper"></param> /// <param name="CX"></param> /// <param name="CY"></param> private void GenericOpenMouth(XmlDocument document, XmlElement paper) { var x = CX - 55; var y = CY; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "a 54,10 0 1 1 110,0" + "a 54,20 0 1 1 -110,0"); }
/// <summary> /// Dot /// </summary> /// <param name="document"></param> /// <param name="paper"></param> private void DotEye(XmlDocument document, XmlElement paper, int width, int height) { var x = CX; var y = CY + 13; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "a 20,15 0 1 1 0.1,0"); FaceHelper.RotateCentered(e, (LR == LR.Left ? Angle : -Angle), width, height); }
private void DefaultHead(XmlDocument document, XmlElement paper, int width, int height) { var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M 200,100" + "c 0,0 180,-10 180,200" + "c 0,0 0,210 -180,200" + "c 0,0 -180,10 -180,-200" + "c 0,0 0,-210 180,-200"); e.SetAttribute("fill", FaceHelper.GetHtmlColor(SkinColor)); FaceHelper.ScaleCentered(e, FaceHelper.FatScale(Fatness), 1, width, height); }
/// <summary> /// Thin flat /// </summary> /// <param name="document"></param> /// <param name="paper"></param> /// <param name="CX"></param> /// <param name="CY"></param> private void ThinFlatMouth(XmlDocument document, XmlElement paper) { var x = CX - 55; var y = CY; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "h 110"); e.SetAttribute("stroke", "#000"); e.SetAttribute("stroke-width", "8"); e.SetAttribute("fill", "none"); }
/// <summary> /// Thin smile /// </summary> /// <param name="document"></param> /// <param name="paper"></param> /// <param name="CX"></param> /// <param name="CY"></param> private void ThinSmileMouth(XmlDocument document, XmlElement paper) { var x = CX - 75; var y = CY - 15; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "c 0,0 75,60 150,0"); e.SetAttribute("stroke", "#000"); e.SetAttribute("stroke-width", "8"); e.SetAttribute("fill", "none"); }
/// <summary> /// Horizontal /// </summary> /// <param name="document"></param> /// <param name="paper"></param> private void HorizontalEye(XmlDocument document, XmlElement paper, int width, int height) { var x = CX - 30; var y = CY; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "h 60"); e.SetAttribute("stroke", "#000"); e.SetAttribute("stroke-width", "8"); e.SetAttribute("fill", "none"); FaceHelper.RotateCentered(e, (LR == LR.Left ? Angle : -Angle), width, height); }
/// <summary> /// Big single /// </summary> /// <param name="document"></param> /// <param name="paper"></param> /// <param name="CX"></param> /// <param name="CY"></param> /// <param name="Size"></param> /// <param name="Flip"></param> private void BigSingleNose(XmlDocument document, XmlElement paper, int width, int height) { var scale = Size + 0.5; var x = CX - 9; var y = CY - 25; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "c 0,0 -20,60 9,55" + "c 0,0 29,5 9,-55"); e.SetAttribute("stroke", "#000"); e.SetAttribute("stroke-width", "8"); e.SetAttribute("fill", "none"); FaceHelper.ScaleCentered(e, scale, scale, width, height); }
/// <summary> /// Normal (circle with a dot in it) /// </summary> /// <param name="document"></param> /// <param name="paper"></param> private void NormalEye(XmlDocument document, XmlElement paper, int width, int height) { var x = CX; var y = CY + 20; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "a 30,20 0 1 1 0.1,0"); e.SetAttribute("stroke", "#000"); e.SetAttribute("stroke-width", "6"); e.SetAttribute("fill", "#f0f0f0"); FaceHelper.RotateCentered(e, (LR == LR.Left ? Angle : -Angle), width, height); var e2 = FaceHelper.NewPath(document, paper); e2.SetAttribute("d", "M " + x + "," + (y - 12) + "a 12,8 0 1 1 0.1,0"); FaceHelper.RotateCentered(e2, (LR == LR.Left ? Angle : -Angle), width, height); }
/// <summary> /// Arc eyelid /// </summary> /// <param name="document"></param> /// <param name="paper"></param> private void ArcEyelidEye(XmlDocument document, XmlElement paper, int width, int height) { var x = CX; var y = CY + 20; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "a 17,17 0 1 1 0.1,0 z"); FaceHelper.RotateCentered(e, (LR == LR.Left ? Angle : -Angle), width, height); var e2 = FaceHelper.NewPath(document, paper); e2.SetAttribute("d", "M " + (x - 40) + "," + (y - 14) + "c 36,-44 87,-4 87,-4"); e2.SetAttribute("stroke", "#000"); e2.SetAttribute("stroke-width", "4"); e2.SetAttribute("fill", "none"); FaceHelper.RotateCentered(e, (LR == LR.Left ? Angle : -Angle), width, height); }
/// <summary> /// Open-mouthed smile, top teeth /// </summary> /// <param name="document"></param> /// <param name="paper"></param> /// <param name="CX"></param> /// <param name="CY"></param> private void OpenMouthedSmileMouth(XmlDocument document, XmlElement paper) { var x = CX - 75; var y = CY - 15; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + x + "," + y + "c 0,0 75,100 150,0" + "h -150"); var e2 = FaceHelper.NewPath(document, paper); e2.SetAttribute("d", "M " + (x + 16) + "," + (y + 8) + "l 16,16" + "h 86" + "l 16,-16" + "h -118"); e2.SetAttribute("fill", "#f0f0f0"); }
private void DefaultEyebrow(XmlDocument document, XmlElement paper) { var x = CX - 30; var y = CY; var e = FaceHelper.NewPath(document, paper); if (LR == LR.Left) { e.SetAttribute("d", "M " + x + "," + y + "c 0,0 -3,-30 60,0"); } else { e.SetAttribute("d", "M " + x + "," + y + "c 0,0 63,-30 60,0"); } e.SetAttribute("stroke", "#000"); e.SetAttribute("stroke-width", "8"); e.SetAttribute("fill", "none"); }
/// <summary> /// Pinnochio /// </summary> /// <param name="document"></param> /// <param name="paper"></param> private void PinnochioNose(XmlDocument document, XmlElement paper, int width, int height) { var scale = Size + 0.5; var x = CX; var y = CY - 10; var e = FaceHelper.NewPath(document, paper); e.SetAttribute("d", "M " + (Flip ? x - 48 : x) + "," + y + "c 0,0 50,-30 0,30"); e.SetAttribute("stroke", "#000"); e.SetAttribute("stroke-width", "8"); e.SetAttribute("fill", "none"); if (Flip) { FaceHelper.ScaleCentered(e, -scale, scale, width, height); } else { FaceHelper.ScaleCentered(e, scale, scale, width, height); } }