2023年12月9日發(作者:陽字怎么寫)

正多邊型的點坐標計算思想:
2010.4.9 整理
///五角形的內外園,圓心(a,a)
//float a = 100;
//float r1 = 100;
//float r2 = 40;
//for (int i = 0; i < 5; i++)
//{
// p1[i].X = a + (float)(i * 2 * / 5 - / 10)
* r1;
// p1[i].Y = a + (float)(i * 2 * / 5 - / 10)
* r1;
//}
//for (int i = 0; i < 5; i++)
//{
// p2[i].X = a + (float)(i * 2 * / 5 + 2 *
/ (2 * 5) - / 10) * r2;
// p2[i].Y = a + (float)(i * 2 * / 5 + 2 *
/ (2 * 5) - / 10) * r2;
//}
//for (int i = 0; i < 10; i++)
//{
// if (i % 2 == 0)
// {
// p[i] = p1[i / 2];
// }
// if (i % 2 == 1)
// {
// p[i] = p2[(int)(i / 2)];
// }
//}
畫法1(Button1的paint事件):
GraphicsPath myGraphicsPath = new GraphicsPath();
PointF[] p1 = new [5];
[] p2 = new [5];
[] p = new [10];
////五角形的外接園,圓心(a,a)
float a = 100;
float r1 = 100;
float r2 = 40;
for (int i = 0; i < 5; i++)
{
p1[i].X = a + (float)(i * 2 * / 5 - / 10)
* r1;
p1[i].Y = a + (float)(i * 2 * / 5 - / 10)
* r1;
}
for (int i = 0; i < 5; i++)
{
p2[i].X = a + (float)(i * 2 * / 5 + 2 * /
(2 * 5) - / 10) * r2;
p2[i].Y = a + (float)(i * 2 * / 5 + 2 * /
(2 * 5) - / 10) * r2;
}
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
p[i] = p1[i / 2];
}
if (i % 2 == 1)
{
p[i] = p2[(int)(i / 2)];
}
}
ygon(p);
lor = ;
= new (200, 200);
= new Region(myGraphicsPath);
畫法2:(paint 事件)
GraphicsPath myGraphicsPath = new GraphicsPath();
PointF[] p1 = new [5];
[] p2 = new [5];
float a = 100;
float r1 = 100;
float r2 = 40;
for (int i = 0; i < 5; i++) {
p1[i].X = a + (float)(i * 2 * / 5 - / 10)
* r1;
p1[i].Y = a + (float)(i * 2 * / 5 - / 10)
* r1;
}
for (int i = 0; i < 5; i++)
{
p2[i].X = a + (float)(i * 2 * / 5 + 2 * /
(2 * 5) - / 10) * r2;
p2[i].Y = a + (float)(i * 2 * / 5 + 2 * /
(2 * 5) - / 10) * r2;
}
for (int i = 0; i < 5; i++)
{
for (int j = i; j < i +1; j++)
e(p1[i],p2[j%5]);
}
lor = ;
= new (200, 200);
= new Region(myGraphicsPath);
畫法3(非事件畫法:通過顏色刷刷出來的。需要外部事件的觸發)
Brush fillBrush;
fillBrush = new SolidBrush();
Graphics g;
float a = 100;
float r1 = 100;
float r2 = 40;
PointF[] p1 = new [5];//float型point
[] p2 = new [5];
[] p = new [10];
for (int i = 0; i < 5; i++)
{
p1[i].X = a + (float)(i * 2 * / 5 - / 10)
* r1;
p1[i].Y = a + (float)(i * 2 * / 5 - / 10)
* r1;
} //Pen p = new Pen(, 2);
for (int i = 0; i < 5; i++)
{
p2[i].X = a + (float)(i * 2 * / 5 + 2 * /
(2 * 5) - / 10) * r2;
p2[i].Y = a + (float)(i * 2 * / 5 + 2 * /
(2 * 5) - / 10) * r2;
}
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
p[i] = p1[i / 2];
}
if (i % 2 == 1)
{
p[i] = p2[(int)(i / 2)];
}
}
g = Graphics();
lygon(fillBrush, p);
畫法4(非事件畫法:連線。需要別的事件觸發)
Graphics g;
float a = 100;
float r1 = 100;
PointF[] p1 = new [5];
for (int i = 0; i < 5; i++)
{
p1[i].X = a + (float)(i * 2 * / 5 - / 10)
* r1;
p1[i].Y = a + (float)(i * 2 * / 5 - / 10)
* r1;
}
Pen p = new Pen( , 2);
g = Graphics();
ne(p, p1[0], p1[2]);
ne(p, p1[0], p1[3]); ne(p, p1[1], p1[3]);
ne(p, p1[1], p1[4]);
ne(p, p1[2], p1[4]);
本文發布于:2023-12-09 02:58:59,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1702061939115642.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:C#五角星的集中畫法.doc
本文 PDF 下載地址:C#五角星的集中畫法.pdf
| 留言與評論(共有 0 條評論) |