实验2-VisualC++Interactive图形程序设计.pptVIP

  • 5
  • 0
  • 约5.01千字
  • 约 33页
  • 2018-05-04 发布于四川
  • 举报

实验2-VisualC++Interactive图形程序设计.ppt

Learn to build interactive programs (1)月亮遮不住星星 要求:地球或月亮走过的路上,星星不擦除 提示:c=getpixel(x,y) Alternative approaches 第一次绘制随机的星星时,每绘制一pixel,用数组记住其位置 擦除月亮时,遍历数组,看该位置是否有星星需要重新绘制的 (2)Keyboard Event 要求1:Interactive, 对用户不同的指令有不同的响应 要求2:响应类型不少于2种 按下左方向健,object往左移 按下右方向健,object往右移 按下上方向键,从新月向满月变 按下上方向键,从满月向新月变 按下回车键,object 变小 按下空格键,object 变大 Visual C++ New project 在View文档的::OnDraw(CDC* pDC)函数中直接绘制 pDC-MoveTo(150,50); pDC-LineTo(250,50); 注意 区分大小写 pDC是一个句柄,是DC类的,DC:Device Contex Visual C++ Assistant 建议安装一个Assistant 目的: 某些函数名记不住,键入空格会有提示 某些关键字记不住,以不同颜色显示系统关键字、变量、注释 软件全名: Visual.Assist 绘图笔 先在View.h的头文件中定义变量 CPen Mypen; 在Ondraw()函数中Mypen.CreatePen(PS_DASH,1,RGB(255,0,0)); PS_DASH是画虚线,RGB是画笔颜色,“1”是画线的粗细 绘制结束后,自己Create出来的东西必须释放 Mypen.DeleteObject(); 画笔类型 绘图笔的选取 可以创建多个绘图笔,但当前绘制,用的是其中一个 pDC-SelectObject(Mypen); 某像素点颜色设置 color =? pDC-GetPixel(point); ? XOR drawing mode(绘制模式 ) CDC::SetROP2 int SetROP2( int nDrawMode ); R2_BLACK Pixel is always black R2_NOP Pixel remains unchanged R2_NOT Pixel is the inverse of the screen color R2_COPYPEN Pixel is the pen color. R2_NOTCOPYPEN Pixel is the inverse of the pen color …… 画刷 CBrush Brush; Brush-Create-CreateSolidBrush(RGB(255,0,0)); BrushCreateHatchBrush(HS_DIAGCROSS,RGB(255,0,0)); Windows预定义了七种画刷: BLACK_BRUSH、 DKGRAY_BRUSH、 GRAY_BRUSH、LTGRAY_BRUSH、HOLLOW_BRUSH、NULL_BRUSH和WHITE_BRUSH 阴影样式 Output Text pDC-TextOut(150,30,3D); 当前文字颜色 可以通过GetTextColor()函数检索到当前文本的颜色 COLORREF color=pDC-GetTextColor(); 设置字符间距 SetTextCharacterExtra(),用来设置文本字符的间距 GetTextCharacterExtra(),用来获得当前文本字符的间距 例子: pDC- SetTextCharacterExtra(space); int space=pDC- GetTextCharacterExtra(); 其中,space表示在文本字符之间使用的额外空间的像素数。 Example pDC-MoveTo(150,50); pDC-LineTo(250,50); Mypen.CreatePen(PS_DASH,10,RGB(255,0,0)); pDC-SelectObject(Mypen); pDC-LineTo(150,150); pDC-LineTo(100,200); pDC-MoveTo(150,150); pDC-LineTo(250,150); pDC-MoveTo(150,200); Mypen.DeleteObject(); pDC-TextOut(150,30,3D); 设置文本的对齐方式 SetTextAlign()函数用于设置显

文档评论(0)

1亿VIP精品文档

相关文档