EhsanTC
یک شنبه 16 فروردین 1388, 11:52 صبح
سلام به دوستان عزیز
من می خواهم برای فرمم یک حاشیه بذارم که لبه هاش گرد باشه و از تکه کد زیر استفاده کردم
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Blue, 2F);
Point[] lines = new Point[]{ new Point(10,2),new Point(Width-10,2),
new Point(2 , 10) , new Point(2 , Height-10),
new Point(10,Height-2) , new Point( Width-10,Height-2 ),
new Point( Width-2 , 10) , new Point(Width-2 , Height-10)
};
for ( int i=0 ; i<lines.Length ; i+=2)
{
Point[] partialLine = new Point[2];
Array.Copy( lines , i , partialLine , 0 , 2 );
g.DrawLines(pen, partialLine);
}
Rectangle curveRects = new Rectangle();
curveRects.Width = 10;
curveRects.Height = 10;
//draw first curve
curveRects.X = 2;
curveRects.Y = 2;
g.DrawArc(pen, curveRects, 180, 90);
//second
curveRects.X = Width-12;
curveRects.Y = 2;
g.DrawArc(pen, curveRects, -90, 90);
.
.
اما نتیجه کار اصلا جالب نبود و بین خط ها و ربع دایره ها فاصله می افتاد.
آیا روش بهتر و کم دردسر تری شما می دونید؟
با تشکر
من می خواهم برای فرمم یک حاشیه بذارم که لبه هاش گرد باشه و از تکه کد زیر استفاده کردم
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Blue, 2F);
Point[] lines = new Point[]{ new Point(10,2),new Point(Width-10,2),
new Point(2 , 10) , new Point(2 , Height-10),
new Point(10,Height-2) , new Point( Width-10,Height-2 ),
new Point( Width-2 , 10) , new Point(Width-2 , Height-10)
};
for ( int i=0 ; i<lines.Length ; i+=2)
{
Point[] partialLine = new Point[2];
Array.Copy( lines , i , partialLine , 0 , 2 );
g.DrawLines(pen, partialLine);
}
Rectangle curveRects = new Rectangle();
curveRects.Width = 10;
curveRects.Height = 10;
//draw first curve
curveRects.X = 2;
curveRects.Y = 2;
g.DrawArc(pen, curveRects, 180, 90);
//second
curveRects.X = Width-12;
curveRects.Y = 2;
g.DrawArc(pen, curveRects, -90, 90);
.
.
اما نتیجه کار اصلا جالب نبود و بین خط ها و ربع دایره ها فاصله می افتاد.
آیا روش بهتر و کم دردسر تری شما می دونید؟
با تشکر