今天下午在写一个小项目,要画一个三角形,但是vs中并没有这样一个函数可以用来调用来直接输入三点然后画出一个三角形,
或许是微软的程序员们觉得这个太简单了吧,这个小函数都不值得添到函数库中。
弄了几个小时,总结出三个方法:
1.如果不需要填充的话,那么直接用drawline画三条直线,首尾相接即可,代码如下:
g.DrawLine(pBlue, NodeMngt.nodes[i].GetX() - 2, NodeMngt.nodes[i].GetY() - 2, NodeMngt.nodes[i].GetX() + 3, NodeMngt.nodes[i].GetY() + 3);
g.DrawLine(pBlue, NodeMngt.nodes[i].GetX() - 3, NodeMngt.nodes[i].GetY() + 3, NodeMngt.nodes[i].GetX() + 3, NodeMngt.nodes[i].GetY() + 3);
g.DrawLine(pBlue, NodeMngt.nodes[i].GetX() - 2, NodeMngt.nodes[i].GetY() - 2, NodeMngt.nodes[i].GetX() - 3, NodeMngt.nodes[i].GetY() + 3);
pBlue是画笔,pen来定义
但是这样子,画出来的三角形是空心的,如果需要实心的,并且调用brush刷子,那么请看下面两种方法
2.用polygon函数,但是得先给定其point点,在这里point只能定义为整型,如果是float或者double则没有办法了,所以先可以强制将其转化为