110,539
社区成员
发帖
与我相关
我的任务
分享
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
SolidBrush sb = new SolidBrush(Color.FromArgb(96, 0, 0, 0));
Region reg = new Region();
GraphicsPath path = new GraphicsPath();
reg.MakeEmpty();
g.TranslateTransform(40, 40);
g.RotateTransform(36.9f);
path.AddEllipse(-18, -16, 36, 32);
reg.Union(path);
path.Reset();
g.ResetTransform();
g.TranslateTransform(80, 40);
g.RotateTransform(36.9f);
path.AddEllipse(-18, -16, 36, 32);
reg.Union(path);
g.FillRegion(sb, reg);
}
using (var path = new GraphicsPath())
{
var r = new RectangleF(18, 16, 36, 32);
path.AddEllipse(r);
r.Offset(36.5f, 0);
path.AddEllipse(r);
path.Warp(new PointF[]{new PointF(-1,0),new PointF(0,0),new PointF(0,1)}, new RectangleF(0,0,1,1));
g.FillPath(new SolidBrush(Color.FromArgb(96, 0, 0, 0)), path);
}
using (var path = new GraphicsPath())
{
var sb = new SolidBrush(Color.FromArgb(96, 0, 0, 0));
var r = new RectangleF(18, 16, 36, 32);
path.AddEllipse(r);
//r.Offset(36.5f, 0);
r.Offset(20, 0);
path.AddEllipse(r);
path.Warp(new PointF[]{new PointF(-1,0),new PointF(0,0),new PointF(0,1)}, new RectangleF(0,0,1,1));
path.FillMode = FillMode.Winding;
g.FillPath(sb, path);
}