C#winform窗体画矩形问题

时间:2021-12-25 20:38:03
在窗体程里面是否有一种方法来画斜矩形,就是通过对角的两个点的坐标都来画斜矩形。求解

8 个解决方案

#1


'对角的两个点'就可以确定一个矩形(平行于x/y轴的矩形)。

#2


引用 1 楼 gomoku 的回复:
'对角的两个点'就可以确定一个矩形(平行于x/y轴的矩形)。
楼主要斜矩形。。。哈哈哈哈哈

#3


楼主。。。麻烦解释下什么叫斜矩形。。

#4


引用 3 楼 conmajia 的回复:
楼主。。。麻烦解释下什么叫斜矩形。。

就是斜着摆的矩形啊,不是一般画的矩形都是正的么,有一定的角度。

#5


根据多边形画出斜的矩形来
private void button1_Click(object sender, EventArgs e)
        {
            Graphics ghs = this.CreateGraphics();//实例化Graphics类
            Pen myPen = new Pen(Color.Black, 3);//实例化Pen类
            Point point1 = new Point(80, 20);//实例化Point类,表示第1个点
            Point point2 = new Point(40, 50);//实例化Point类,表示第2个点
            Point point3 = new Point(80, 80);//实例化Point类,表示第3个点
            Point point4 = new Point(160, 80);//实例化Point类,表示第4个点
            Point point5 = new Point(200, 50);//实例化Point类,表示第5个点
            Point point6 = new Point(160, 20);//实例化Point类,表示第6个点
            Point[] myPoints ={ point1, point2, point3, point4, point5, point6 };//创建Point结构数组
            ghs.DrawPolygon(myPen, myPoints);//调用Graphics对象的DrawPolygon方法绘制一个多边形
        }
//自己修改设置成自己需要的形状

#6


1.不存在斜矩形,你说的应该是平行四边形
2.画不规则图形,用5楼给的函数,直接按点集画,你想画几边形都可以

#7


百度cad画图源码!
这个地址也行,有下载的!http://download.csdn.net/detail/fanglei_19851023/3078569

#8


根据两个点,可以得到两点式直线方程,算出和水平线(或者垂直线)的夹角,画一个矩形,RotateTransform画布就ok

不要问代码  没有

#1


'对角的两个点'就可以确定一个矩形(平行于x/y轴的矩形)。

#2


引用 1 楼 gomoku 的回复:
'对角的两个点'就可以确定一个矩形(平行于x/y轴的矩形)。
楼主要斜矩形。。。哈哈哈哈哈

#3


楼主。。。麻烦解释下什么叫斜矩形。。

#4


引用 3 楼 conmajia 的回复:
楼主。。。麻烦解释下什么叫斜矩形。。

就是斜着摆的矩形啊,不是一般画的矩形都是正的么,有一定的角度。

#5


根据多边形画出斜的矩形来
private void button1_Click(object sender, EventArgs e)
        {
            Graphics ghs = this.CreateGraphics();//实例化Graphics类
            Pen myPen = new Pen(Color.Black, 3);//实例化Pen类
            Point point1 = new Point(80, 20);//实例化Point类,表示第1个点
            Point point2 = new Point(40, 50);//实例化Point类,表示第2个点
            Point point3 = new Point(80, 80);//实例化Point类,表示第3个点
            Point point4 = new Point(160, 80);//实例化Point类,表示第4个点
            Point point5 = new Point(200, 50);//实例化Point类,表示第5个点
            Point point6 = new Point(160, 20);//实例化Point类,表示第6个点
            Point[] myPoints ={ point1, point2, point3, point4, point5, point6 };//创建Point结构数组
            ghs.DrawPolygon(myPen, myPoints);//调用Graphics对象的DrawPolygon方法绘制一个多边形
        }
//自己修改设置成自己需要的形状

#6


1.不存在斜矩形,你说的应该是平行四边形
2.画不规则图形,用5楼给的函数,直接按点集画,你想画几边形都可以

#7


百度cad画图源码!
这个地址也行,有下载的!http://download.csdn.net/detail/fanglei_19851023/3078569

#8


根据两个点,可以得到两点式直线方程,算出和水平线(或者垂直线)的夹角,画一个矩形,RotateTransform画布就ok

不要问代码  没有