2个回答
展开全部
看这个问题很多次了,忍不住想要说几句。
你可以自己封装一个SetPixel函数,那你知道的,功能也就是设置一个像素,像素算是比较小把,当然这个说法不太好。点的形状你可以自己扩展啊,通过当前鼠标的位置以像素为单位,然后以该点为参考点,再在它的周围设置几个像素不就实现了不同形状吗!至于颜色那更简单了。
睿腾编程,网
void MySetPixel(CDC *dc, CPoint point, COLORREF crColor)
{
// 十字星红色的点
dc->SetPixel(point.x-1, point.y, crColor);
dc->SetPixel(point.x+1, point.y, crColor);
dc->SetPixel(point.x, point.y, crColor);
dc->SetPixel(point.x, point.y-1, crColor);
dc->SetPixel(point.x, point.y+1, crColor);
}
void CColorDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CDC *dc= this->GetDC();
MySetPixel(dc, point, RGB(255, 0, 0));
CDialog::OnLButtonDown(nFlags, point);
}
你可以自己封装一个SetPixel函数,那你知道的,功能也就是设置一个像素,像素算是比较小把,当然这个说法不太好。点的形状你可以自己扩展啊,通过当前鼠标的位置以像素为单位,然后以该点为参考点,再在它的周围设置几个像素不就实现了不同形状吗!至于颜色那更简单了。
睿腾编程,网
void MySetPixel(CDC *dc, CPoint point, COLORREF crColor)
{
// 十字星红色的点
dc->SetPixel(point.x-1, point.y, crColor);
dc->SetPixel(point.x+1, point.y, crColor);
dc->SetPixel(point.x, point.y, crColor);
dc->SetPixel(point.x, point.y-1, crColor);
dc->SetPixel(point.x, point.y+1, crColor);
}
void CColorDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CDC *dc= this->GetDC();
MySetPixel(dc, point, RGB(255, 0, 0));
CDialog::OnLButtonDown(nFlags, point);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不是很简单吗?干嘛不自己动手
追问
额,我是初学,我开始用的SetPixel函数画出来的点太小,我自己研究没研究出来,才来网上求救的,你要是知道,会的话,就告诉我下程序。
追答
你可以用Ellipse画圆或椭圆。(可用CBrush设置填充色,CPen设置边线色),一会儿上课,没时间写。
线输出函数
GetCurrentPosition 获取笔的当前位置(以逻辑坐标表示)
MoveTo 移动当前位置
LineTo 从当前位置到一点画直线,但不包括那个点
Arc 画一段椭圆弧
ArcTo 画一段椭圆弧。除了更新当前位置以外,这个函数与Arc类似
AngleArc 画一条线段和圆弧,把当前位置移到圆弧终点
GetArcDirection 对设备上下文返回当前圆弧方向
SetArcDirection 设备圆弧和矩形函数要用到的绘图方向
PolyDraw 画一组线段和Bezier样条。这个函数更新当前位置Polyline画一组与指定点连接的线段
PolyPolyline 画多组相连线段。这个函数不使用也不更新当前位置
PolylineTo 画一条或多条直线,并把当前位置移到最后一条直线的终点
PolyBezier 画一条或多条Bezier样条。不使用也不更新当前位置
PolyBezierTo 画一条或多条Bezier样条,并把当前位置移到最后一条Bezier样条的终点
简单绘图函数
FillRect 用指定画刷填充给定矩形
FrameRect 在矩形周围绘制边界
InvertRect 反转矩形内容
DrawIcon 绘制图标
DrawDragRect 拖拽矩形时擦除并重绘它
FillSolidRect 用实颜色填充矩形
Draw3Drect 绘制三维矩形
DrawEdge 绘制矩形边
DrawFrameControl 绘制帧控件
DrawState 显示图像并应用可视化效果来表示一个状态
椭圆和多边形函数
Chord 绘制椭圆弧(椭圆和一条线段相交围成的闭合图形)
DrawFocusRect 绘制用于表示焦点的风格的矩形
Ellipse 绘制椭圆
Pie 绘制饼形图
Polygon 绘制多边形,包含由线段连接的一个或多个点(顶点)
PolyPolygon 创建使用当前多边形填充模式的两个或多个多边形,多边形可以相互分开或叠加
Polyline 绘制多边形,包含连接指定点的一组线段
Rectangle 使用当前笔绘制矩形,用当前画刷填充
RoundRect 使用当前笔绘制圆角矩形,用当前画刷填充
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询