Ellipse画出来怎么是方形的?
解决方案 »
- 求助!BCGControlBar建的OFFICE 2007风格滚动条风格不变问题
- directUI界面开发问题
- 为什么CString TrimRight(':')没有作用?
- 如何解决的问题
- 如何获取静态为本实际需要宽度?(在线等)
- 请教:如何用最快速的方法得到一个16位或24位BMP文件到底包含多少种RGB色彩?仅说思路即可
- 请问如何清除CAsyncSocket的接收缓冲区..
- DIRECT SHOW 好难!
- 请问哪里有关于visual c++的好的电子书下载??
- 短消息的包格式?
- 刚参加工作,老板给了一个小测试题目。在读取得位图上进行画线,涂色,并保存,不知道怎么做
- 在DIALOG上放一个CComboBox控件,为什么运行时总是不可以输入数据了,输入框变灰了
brush.CreateSolidBrush(RGB(0,0,0));
CBrush * pOldBrush = pDC->SelectObject( &brush );
pDC->Ellipse( 0, 0, 100, 100 );
pDC->SelectObject( pOldBrush );
Ellipse可以画出来长轴短轴不同或者相同数据的椭圆。
长轴短轴相等就是圆
pDC- >Ellipse( 0, 0, 100, 100 );
四个参数分别是矩形的左上角顶点坐标和右下角顶点坐标,要想画圆保存矩形是正方形就可以了
要画实心圆定义一个实心画刷就行了:
下面的函数point 当前鼠标,mSize半径跟踪鼠标画圆
//画圆
void CMyPaintView::MDrawRedArc(CPoint point, int mSize)
{
//AfxMessageBox(""); CPoint mPoint;
mPoint.x=point.x-2;
mPoint.y=point.y-2; CPen pNewPen;
CPen *pOldPen;
pNewPen.CreatePen(PS_SOLID,1,RGB(255,0,0));
pOldPen = pDLMemDC.SelectObject(&pNewPen); //定义画刷填充圆
CBrush fillbrush;
CBrush *oldbrush;
fillbrush.CreateSolidBrush(RGB(255,0,0));
oldbrush=pDLMemDC.SelectObject(&fillbrush);
pDLMemDC.Ellipse(mPoint.x,mPoint.y,mPoint.x+mSize,mPoint.y+mSize); pDLMemDC.SelectObject(oldbrush);
pDLMemDC.SelectObject(pOldPen);
fillbrush.DeleteObject();
pNewPen.DeleteObject();}
void CMyPaintView::MDrawRedArc(CPoint point, int mSize)
{
CPoint tmppoint;
tmppoint.x=point.x-2;
tmppoint.y=point.y-2; CPen pNewPen;
CPen *pOldPen;
pNewPen.CreatePen(PS_SOLID,1,RGB(255,0,0));
pOldPen = pDLMemDC.SelectObject(&pNewPen); //定义画刷填充圆
CBrush fillbrush;
CBrush *oldbrush;
fillbrush.CreateSolidBrush(RGB(255,0,0));
oldbrush=pDLMemDC.SelectObject(&fillbrush);
pDLMemDC.Ellipse(tmppoint.x,tmppoint.y,tmppoint.x+mSize,tmppoint.y+mSize); pDLMemDC.SelectObject(oldbrush);
pDLMemDC.SelectObject(pOldPen);
fillbrush.DeleteObject();
pNewPen.DeleteObject();}
C++算法代码
毛笔 钢笔 排笔 铅笔http://www.etfsoft.com/other/downsgoogle/maobi.rar 毛笔算法http://www.etfsoft.com/other/downsgoogle/毛笔.jpg13762930029 QQ77211022