XMarksTheSpot 基类见:http://blog.youkuaiyun.com/u013384702/article/details/17883367
Code:(GraphicsPath类的使用)
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
namespace CsStudy
{
class Flower : XMarksTheSpot
{
public new static void Main()
{
Application.Run(new Flower());
}
public Flower()
{
Text = "花朵";
}
protected override void DoPage(System.Drawing.Graphics grph, System.Drawing.Color clr, int cx, int cy)
{
grph.DrawBezier(new Pen(Color.Green, 10),
new Point(0, cy), new Point(0, 3 * cy / 4), new Point(cx / 4, cy / 4), new Point(cx / 2, cy / 2));
float fScale = Math.Min(cx, cy) / 2000f;
grph.TranslateTransform(cx / 2, cy / 2);
grph.ScaleTransform(fScale, fScale);
GraphicsPath path = new GraphicsPath();
path.AddBezier(new Point(0, 0), new Point(125, 125), new Point(475, 125), new Point(600, 0));
path.AddBezier(new Point(600, 0), new Point(475, -125), new Point(125, -125), new Point(0, 0));
for (int i = 0; i < 8; i++)
{
grph.FillPath(Brushes.Red, path);
grph.DrawPath(Pens.Black, path);
grph.RotateTransform(360 / 8);//旋转出8个花瓣
}
Rectangle rect = new Rectangle(-150, -150, 300, 300);
grph.FillEllipse(Brushes.Yellow, rect);//画花
grph.DrawEllipse(Pens.Black, rect);
}
}
}
效果图: