在vc下使用gdi+中Drawpath()返回值为OutOfMemory,导致GraphicsPath不能绘制到屏幕上 以下就是导致这个问题的代码
<span> </span>Graphics graphics(hdc);
//!!!!!!!!!!!!OutOfMemory
GraphicsPath path;
PointF p[3] = { PointF(0, 0), PointF(100, 100), PointF(200, 200) };
path.AddLines(&p[0], 2);
path.StartFigure();//想要添加的两个图形间不相连,可以使用这个方法
path.AddLines(&p[1], 1);
Pen pen(Color(255, 0, 0), 2);//设置画笔的宽度为2
Status ss= graphics.DrawPath(&pen, &path);//ss的值为<span style="font-family: Arial, Helvetica, sans-serif;">OutOfMemory</span>
以上代码当笔宽大于1就会出现这个问题,导致这个问题还有其他两个因素1:path.StartFigure(); 2.path.AddLines(&p[1],1)添加了一个点的线
在网上搜了下没有解决这个问题的方法(反正我没找到!),于是自己发了点时间解决了这个问题。
用次博客纪念我逝去的时间