项目创建——VS2019选择MFC应用,更改以下配置 :1.单个文档   2.MFC规范

绘制基础直线、矩形

void Ctest01View::OnLButtonUp(UINT nFlags, CPoint point)
{// TODO: 在此添加消息处理程序代码和/或调用默认值P1 = point;//起始点为p1CDC* pDC = GetDC();pDC->MoveTo(P0);pDC->LineTo(P1);/*pDC->Rectangle(CRect(P0, P1));*/ReleaseDC(pDC);CView::OnLButtonUp(nFlags, point);
}void Ctest01View::OnLButtonDown(UINT nFlags, CPoint point)
{// TODO: 在此添加消息处理程序代码和/或调用默认值P0 = point;CView::OnLButtonDown(nFlags, point);
}

椭圆及填色

void Ctest01View::OnLButtonUp(UINT nFlags, CPoint point)
{// TODO: 在此添加消息处理程序代码和/或调用默认值P1 = point;CDC* pDC = GetDC();CPen NewPen, * pOldPen;NewPen.CreatePen(PS_SOLID, 3, RGB(255, 0, 0));//绘制椭圆,边框颜色为红色pOldPen = pDC->SelectObject(&NewPen);CBrush NewBrush, * pOldBrush;NewBrush.CreateSolidBrush(RGB(0, 128, 0));//填充椭圆颜色为绿色pOldBrush = pDC->SelectObject(&NewBrush);//将画刷选入设备描述表pDC->Ellipse(CRect(P0, P1));//绘制椭圆进行填充ReleaseDC(pDC);NewPen.DeleteObject();NewBrush.DeleteObject();CView::OnLButtonUp(nFlags, point);
}void Ctest01View::OnLButtonDown(UINT nFlags, CPoint point)
{// TODO: 在此添加消息处理程序代码和/或调用默认值P0 = point;CView::OnLButtonDown(nFlags, point);
}

效果图:

计算机图形学笔记1--新建vs项目及绘制直线、矩形、椭圆相关推荐

  1. 计算机图形学笔记(一)渲染管线概述

    计算机图形学笔记(一)渲染管线概述 写在前面:因为之前有学习过图形学,博文是对过去知识的拾遗和对学习过程中的总结记录,所以在内容组织上可能不符合逻辑,某些比较熟悉的内容不会体现或简述:在整理资料的时候 ...

  2. 计算机图形学笔记(观测变换、模型变换、视图变换、投影变换、视口变换)

    计算机图形学笔记(观测变换.模型变换.视图变换.投影变换.视口变换) 目录 计算机图形学笔记(观测变换.模型变换.视图变换.投影变换.视口变换) 一.简介 1.模型变换(Model transform ...

  3. 计算机图形学孔令德VS2022新建MFC项目基本操作-绘制金刚石图案

    计算机图形学孔令德VS2022新建MFC项目基本操作 VS没有MFC组件 如果你的vs2022在安装的时候没有下载mfc组件的话,需要自行下载 如果下载了,如下图 没有下载,则点击上图中的安装多个工具 ...

  4. 计算机图形学笔记 (第一周)

    1.计算机图形学:研究通过计算机将物体表示为图形并显示的一门学科. 表示: 将物体表示为图形:造型/建模 显示:将表示后的图形显示出来: 渲染/绘制 2.文字/文本:图形/图像:  图形本质也是一种语 ...

  5. 计算机图形学基础(OpenGL版)实验四 直线裁剪

    计算机图形学基础 实验四 直线裁剪 1.实验目的: 了解二维图形裁剪的原理(点的裁剪.直线的裁剪.多边形的裁剪),利用VC+OpenGL实现直线的裁剪算法. 2.实验内容: (1) 理解直线裁剪的原理 ...

  6. 计算机图形学笔记 || 自由曲线和曲面

    一.基本概念 初等解析曲面(平面.圆柱面.球面等):自由曲面,一类不能用初等解析函数完全清楚地表达全部形状的曲面,这方面的研究形成了"计算机辅助设计". 直线段有三种表示方法,设直 ...

  7. 计算机图形学笔记五:光栅化(消隐算法)和 前几节内容总结

    消隐算法和前几节内容总结 1.消隐算法 1.1画家算法(Painter's Algorithm) 1.2 Z-Buffer算法 2.前几节内容总结 1.消隐算法 1.1画家算法(Painter's A ...

  8. 计算机图形学笔记十一:Ray Tracing1(阴影,光线追踪基本原理)

    阴影,光线追踪基本原理 1.阴影贴图(Shadow Mapping) 1.1产生步骤 1.2存在问题 2.光线追踪( Ray Tracing) 2.1为什么需要光线追踪? 2.2基础光线追踪算法(Ba ...

  9. 计算机图形学笔记(第二周)

    多边形光栅化: 1.逐点填充法 2.扫描线填充法 3.活动边表填充法 x-扫描线的思想: 上开下闭,右开左闭.  图形的中心偏移半个像素点. 求交,排序,交点配对,区间配色. 每次求交和排序都比较耗时 ...

最新文章

  1. python3 异步错误 asyncio.Semaphore RuntimeError: Task got Future attached to a different loop
  2. 程序员如何跳出35岁魔咒,史上最全思维图收集解救你
  3. #1406 data too long for column '' at row 1
  4. drawable canvas使用
  5. TCP协议的部分解析(2)
  6. 苹果笔记本能玩英雄联盟吗_《英雄联盟手游》日服安卓和ios数据互通说明 安卓和ios可以一起玩吗_英雄联盟手游...
  7. 为什么现在的监控系统容易硬盘坏?附原理解析
  8. RxSwift PriorityQueue 优先级队列的实现
  9. XML与Web Service基础知识点
  10. python零基础自学教材-Python零基础入门到精通自学视频教程
  11. android超级终端使用,android系统超级终端怎么用?
  12. 杨辉三角形Java实现
  13. Hive建表语句解释
  14. web应用基本框架图
  15. SQL零基础入门学习(三)
  16. 主成分分析实战篇:南极考察站检测数据降维
  17. GPT-2 论文翻译
  18. CarSim仿真快速入门(十一)—驾驶员模型(1)
  19. Rust语法之if语句
  20. 盘点与编程机器人相关的教育部白名单赛事

热门文章

  1. 机器学习实验之肿瘤分类与预测(朴素贝叶斯)
  2. QQ飞车外挂敲诈木马大玩伪装术 360安全卫士率先拦截
  3. CakePHP 2.x CookBook 中文版 第四章 CakePHP 概述
  4. html ul li 放缩略图,缩略图预览
  5. Gatling:HTTP Protocol
  6. java初学之算数运算符的强制转换
  7. 宝塔双php版本,宝塔安装更换PHP版本的方法
  8. 【嗜血GO笔记】如何在goclipse 中配置代码自动补全。
  9. 【工业物联网】“哑设备”和“铁疙瘩”才是工业物联网平台的救命稻草!
  10. 使用HTK搭建英文大词汇量连续语音识别系统(二)