VC++设置画笔粗细问题
我用一下语句定义画笔,要求宽度是100,但是按照这个宽度画出直线,直线一头是个半圆形的,能不能实现直线开头就是平的直线?就跟画了一个矩形一样?CClientDCDC(th...
我用一下语句定义画笔,要求宽度是100,但是按照这个宽度画出直线,直线一头是个半圆形的,能不能实现直线开头就是平的直线?就跟画了一个矩形一样?
CClientDC DC(this);
CPen myPen;
myPen.CreatePen(PS_SOLID,100,RGB(255,255,255));
CPen*pOldPen=DC.SelectObject(&myPen);
谢谢了,因为我是循环嵌套,实现图形的运动,然后用白色粗线条覆盖一部分图形,矩形的画线条有问题。知道画矩形粗线条麻烦告知
矩形难以实现我需要的功能,只想画一条粗线条 展开
CClientDC DC(this);
CPen myPen;
myPen.CreatePen(PS_SOLID,100,RGB(255,255,255));
CPen*pOldPen=DC.SelectObject(&myPen);
谢谢了,因为我是循环嵌套,实现图形的运动,然后用白色粗线条覆盖一部分图形,矩形的画线条有问题。知道画矩形粗线条麻烦告知
矩形难以实现我需要的功能,只想画一条粗线条 展开
展开全部
改成这个:
myPen.CreatePen(PS_SOLID | PS_ENDCAP_SQUARE ,100,RGB(255,255,255));
既然不行,只能这样:
LOGBRUSH logBrushBottom;
logBrushBottom.lbStyle = BS_SOLID;
logBrushBottom.lbColor = RGB(255,0,0);
logBrushBottom.lbHatch = 0;
CPen lpen(PS_GEOMETRIC|PS_ENDCAP_SQUARE, 20 , &logBrushBottom);
CPen* pOldPen = dc.SelectObject(&lpen);
dc.MoveTo( 30 , 30 ) ;
dc.LineTo( 100 , 30 ) ;
dc.SelectObject( pOldPen );
myPen.CreatePen(PS_SOLID | PS_ENDCAP_SQUARE ,100,RGB(255,255,255));
既然不行,只能这样:
LOGBRUSH logBrushBottom;
logBrushBottom.lbStyle = BS_SOLID;
logBrushBottom.lbColor = RGB(255,0,0);
logBrushBottom.lbHatch = 0;
CPen lpen(PS_GEOMETRIC|PS_ENDCAP_SQUARE, 20 , &logBrushBottom);
CPen* pOldPen = dc.SelectObject(&lpen);
dc.MoveTo( 30 , 30 ) ;
dc.LineTo( 100 , 30 ) ;
dc.SelectObject( pOldPen );
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的直线一头是半圆的,因为像素是一个个的圆呀~
还是试试画一个同等大小的矩形,然后用画刷填充这种方法吧~~
还是试试画一个同等大小的矩形,然后用画刷填充这种方法吧~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就跟画了一个矩形一样
直接画矩形不就行了吗,白色画笔+白色画刷
直接画矩形不就行了吗,白色画笔+白色画刷
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询