计算机图形学笔记1--新建vs项目及绘制直线、矩形、椭圆
项目创建——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.模型变换(Model transform ...
- 计算机图形学孔令德VS2022新建MFC项目基本操作-绘制金刚石图案
计算机图形学孔令德VS2022新建MFC项目基本操作 VS没有MFC组件 如果你的vs2022在安装的时候没有下载mfc组件的话,需要自行下载 如果下载了,如下图 没有下载,则点击上图中的安装多个工具 ...
- 计算机图形学笔记 (第一周)
1.计算机图形学:研究通过计算机将物体表示为图形并显示的一门学科. 表示: 将物体表示为图形:造型/建模 显示:将表示后的图形显示出来: 渲染/绘制 2.文字/文本:图形/图像: 图形本质也是一种语 ...
- 计算机图形学基础(OpenGL版)实验四 直线裁剪
计算机图形学基础 实验四 直线裁剪 1.实验目的: 了解二维图形裁剪的原理(点的裁剪.直线的裁剪.多边形的裁剪),利用VC+OpenGL实现直线的裁剪算法. 2.实验内容: (1) 理解直线裁剪的原理 ...
- 计算机图形学笔记 || 自由曲线和曲面
一.基本概念 初等解析曲面(平面.圆柱面.球面等):自由曲面,一类不能用初等解析函数完全清楚地表达全部形状的曲面,这方面的研究形成了"计算机辅助设计". 直线段有三种表示方法,设直 ...
- 计算机图形学笔记五:光栅化(消隐算法)和 前几节内容总结
消隐算法和前几节内容总结 1.消隐算法 1.1画家算法(Painter's Algorithm) 1.2 Z-Buffer算法 2.前几节内容总结 1.消隐算法 1.1画家算法(Painter's A ...
- 计算机图形学笔记十一:Ray Tracing1(阴影,光线追踪基本原理)
阴影,光线追踪基本原理 1.阴影贴图(Shadow Mapping) 1.1产生步骤 1.2存在问题 2.光线追踪( Ray Tracing) 2.1为什么需要光线追踪? 2.2基础光线追踪算法(Ba ...
- 计算机图形学笔记(第二周)
多边形光栅化: 1.逐点填充法 2.扫描线填充法 3.活动边表填充法 x-扫描线的思想: 上开下闭,右开左闭. 图形的中心偏移半个像素点. 求交,排序,交点配对,区间配色. 每次求交和排序都比较耗时 ...
最新文章
- python3 异步错误 asyncio.Semaphore RuntimeError: Task got Future attached to a different loop
- 程序员如何跳出35岁魔咒,史上最全思维图收集解救你
- #1406 data too long for column '' at row 1
- drawable canvas使用
- TCP协议的部分解析(2)
- 苹果笔记本能玩英雄联盟吗_《英雄联盟手游》日服安卓和ios数据互通说明 安卓和ios可以一起玩吗_英雄联盟手游...
- 为什么现在的监控系统容易硬盘坏?附原理解析
- RxSwift PriorityQueue 优先级队列的实现
- XML与Web Service基础知识点
- python零基础自学教材-Python零基础入门到精通自学视频教程
- android超级终端使用,android系统超级终端怎么用?
- 杨辉三角形Java实现
- Hive建表语句解释
- web应用基本框架图
- SQL零基础入门学习(三)
- 主成分分析实战篇:南极考察站检测数据降维
- GPT-2 论文翻译
- CarSim仿真快速入门(十一)—驾驶员模型(1)
- Rust语法之if语句
- 盘点与编程机器人相关的教育部白名单赛事
热门文章
- 机器学习实验之肿瘤分类与预测(朴素贝叶斯)
- QQ飞车外挂敲诈木马大玩伪装术 360安全卫士率先拦截
- CakePHP 2.x CookBook 中文版 第四章 CakePHP 概述
- html ul li 放缩略图,缩略图预览
- Gatling:HTTP Protocol
- java初学之算数运算符的强制转换
- 宝塔双php版本,宝塔安装更换PHP版本的方法
- 【嗜血GO笔记】如何在goclipse 中配置代码自动补全。
- 【工业物联网】“哑设备”和“铁疙瘩”才是工业物联网平台的救命稻草!
- 使用HTK搭建英文大词汇量连续语音识别系统(二)