110,528
社区成员
发帖
与我相关
我的任务
分享
this.m_Start = this.m_MoveStart;
this.m_End = this.m_MoveEnd;
Rectangle rect = this.GetBound();
PointF pf = new PointF();
pf.X = this.m_Start.X - (this.m_Start.X - this.m_End.X) / 2;
pf.Y = this.m_Start.Y - (this.m_Start.Y - this.m_End.Y) / 2;
int angle = 0;
if (this.m_Start.X > this.m_End.X)
{
angle += 180;
}
else if (this.m_Start.Y > this.m_End.Y)
{
angle += 90;
}
angle = angle % 360;
g.TranslateTransform(pf.X, pf.Y);
g.RotateTransform(angle);
g.TranslateTransform(-pf.X, -pf.Y);
using (Pen pen = new Pen(Color.Black))
{
g.DrawRectangle(new Pen(Color.Black), rect);
LinearGradientBrush brush = new LinearGradientBrush(rect, Color.SkyBlue, Color.White, LinearGradientMode.BackwardDiagonal);
rect.Inflate(-1, -1);
g.FillRectangle(new LinearGradientBrush(rect, Color.SkyBlue, Color.White, LinearGradientMode.BackwardDiagonal), rect);
brush.Dispose();
}
g.ResetTransform();
e.Graphics.TranslateTransform(Pcenter.X, Pcenter.Y);
e.Graphics.RotateTransform(-m_i4Angle);
e.Graphics.TranslateTransform(-Pcenter.X, -Pcenter.Y);
.....//绘图
e.Graphics.ResetTransform();