文档介绍:
中南大学信息科学与工程学院
实验报告
实 验 名 称
实 验 地 点 科技楼四楼
实 验 日 期 2014年6月
指 导 教 师
学 生 班 级
学 生 姓 名
学 生 学 号
提 交 日 期 2014年6月
实验一 Window图形编程基础
实验类型:验证型实验
实验目的
1、熟练使用实验主要开发平台VC6.0;
2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序;
3、掌握Window图形编程的基本方法;
4、学会使用基本绘图函数和Window GDI对象;
实验内容
创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求:
1、用户可以通过菜单选择绘图颜色;
2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形;
实验要求与指导
1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。
用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。
建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形
其中“曲线”项有级联菜单,包括:圆、椭圆。
用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。
实验结果:
六、实验主要代码
1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化
m_pDC=new CClientDC(this);
在OnDraw函数中添加:
m_pDC=new CClientDC(this);
m_pDC->MoveTo(10,10);
m_pDC->LineTo(100,100);
m_pDC->SetPixel(100,200,RGB(0,0,0));
m_pDC->TextOut(100,100);
2、画圆:
void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC)
{
int dx = xb - xa;
int dy = yb - ya;
int Steps, k;
float xIncrement,yIncrement;
float x = xa,y= ya;
if(abs(dx)>abs(dy))
Steps = abs(dx);
else
Steps = abs(dy);
xIncrement = dx/(float)Steps;
yIncrement = dy/(float)Steps;
pDC->SetPixel(ROUND(x),ROUND(y),RGB(0,0,0));
for(k=0;k
{
x +=xIncrement;
y +=yIncrement;
sleep(10);
pDC->SetPixel(ROUND(x),ROUND(y),RGB(0,0,0));
}
3、画矩形
void CRectangleDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
lButtonDownNotUp = TRUE;
RECT rect;
m_showRectangle. GetClientRect( &rect ) ;
if( (point. xrect. left) && (point. yrect. top) )
{
regionLeftTopTemp = point;
}
CDialog::OnLButtonDown(nFlags, point);
}
void CRectangleDlg::OnMouseMove(UINT nFlags, CPoint point)
{
内容来自淘豆网www.taodocs.com转载请标明出处.