画线问题:为什么不封闭的也画成封闭的了呢????
我的程序中有一段是将读取的点连接起来,程序如下:
MoveToEx(
hdc,
U2PX(((PENTLWPOLYLINE)pEntityData)->pVertex1[0].Point.x),
U2PY(((PENTLWPOLYLINE)pEntityData)->pVertex1[0].Point.y),
NULL
);
for(int i=1; i<((PENTLWPOLYLINE)pEntityData)->nVertex1; i++)
LineTo(
hdc,
U2PX(((PENTLWPOLYLINE)pEntityData)->pVertex1[i].Point.x),
U2PY(((PENTLWPOLYLINE)pEntityData)->pVertex1[i].Point.y)
);
if(((PENTLWPOLYLINE)pEntityData)->Flag & POLYLINE_CLOSED)
LineTo(
hdc,
U2PX(((PENTLWPOLYLINE)pEntityData)->pVertex1[0].Point.x),
U2PY(((PENTLWPOLYLINE)pEntityData)->pVertex1[0].Point.y)
);最后的这个if是判断是否未闭合的,其中POLYLINE_CLOSED的值为1
我可以确定不闭合时最后的LineTo是不走的,请高手指教有什么问题么?
MoveToEx(
hdc,
U2PX(((PENTLWPOLYLINE)pEntityData)->pVertex1[0].Point.x),
U2PY(((PENTLWPOLYLINE)pEntityData)->pVertex1[0].Point.y),
NULL
);
for(int i=1; i<((PENTLWPOLYLINE)pEntityData)->nVertex1; i++)
LineTo(
hdc,
U2PX(((PENTLWPOLYLINE)pEntityData)->pVertex1[i].Point.x),
U2PY(((PENTLWPOLYLINE)pEntityData)->pVertex1[i].Point.y)
);
if(((PENTLWPOLYLINE)pEntityData)->Flag & POLYLINE_CLOSED)
LineTo(
hdc,
U2PX(((PENTLWPOLYLINE)pEntityData)->pVertex1[0].Point.x),
U2PY(((PENTLWPOLYLINE)pEntityData)->pVertex1[0].Point.y)
);最后的这个if是判断是否未闭合的,其中POLYLINE_CLOSED的值为1
我可以确定不闭合时最后的LineTo是不走的,请高手指教有什么问题么?
...全文
相关推荐
基于opencv的视频画封闭区域、画单条线段、双条线段、箭头
**画封闭区域**:在视频帧上画封闭区域通常是为了标识特定的物体或区域。`cv2.rectangle()`函数允许我们指定矩形的左上角和右下角坐标,颜色和线宽。
画圆 画矩形 画线 调用系统颜色 填充颜色
**画矩形**:画矩形的函数如GDI中的`Rectangle`,需要指定矩形的左上角和右下角坐标。这将绘制一个具有直角的封闭图形。也可以通过`RoundRect`函数画出带有圆角的矩形。3.
VC画线源码,画多边形的实例
在VC++编程环境中,开发图形用户界面(GUI)应用程序时,常常需要进行图形绘制操作,例如画线、画圆或画多边形等。
画线 画面 winform
例如,如果我们有两点坐标`(x1, y1)`和`(x2, y2)`,可以这样画一条线:```csharpg.DrawLine(Pens.Black, x1, y1, x2, y2);```如果需要画多个点构成的线
使用canvas画线,位移,旋转,绘制五角星。
由于Canvas提供了旋转功能,我们可以先画出一条直线,然后围绕其端点旋转特定角度再画第二条线,依此类推。以下是绘制五角星的基本步骤:1. 初始化Canvas。2. 创建一个起点,例如(0, 0)。


