1,使用默认的文本背景模式,在点(-200,20)处输出黄底红字“Computer Graphics Based on VC++”;在(50,20)处输出黄底红字“BoChuang Research Institute”;使用透明文本背景模式在(-200,-20)处输出黑色整数5和8;在(0,-20)处输出黑色双精度浮点数(5.2,8.3)。

    CRect rect;  //定义矩形
GetClientRect(&rect); //获得客户区矩形
pDC->SetMapMode(MM_ANISOTROPIC); //设置映射模式
pDC->SetWindowExt(rect.Width(),rect.Height()); //设置窗口
pDC->SetViewportExt(rect.Width(),-rect.Height()); //设置视区:x轴水平向右为正,y轴垂直向上为正
pDC->SetViewportOrg(rect.Width()/,rect.Height()/); //设置客户区中心为坐标系原点
rect.OffsetRect(-rect.Width()/,-rect.Height()/); //客户区矩形校正 pDC->SetTextColor(RGB(,,)); //字体颜色为红色
pDC->SetBkColor(RGB(,,)); //背景色:红+绿=黄
pDC->TextOut(-,,"Computer Graphics Based on VC++"); //输出文本1
CString data,str="BoChuang Research Institute";
data.Format("%s",str); //输出文本2
pDC->TextOut(,,data);
pDC->SetTextColor(RGB(,,));
pDC->SetBkMode(TRANSPARENT); //设置背景模式,透明
int i1=,i2=;
double d1=5.2,d2=8.3;
data.Format("%d,%d",i1,i2); //输出整数
pDC->TextOut(-,-,data);
data.Format("%f,%f",d1,d2); //输出小数
pDC->TextOut(,-,data);

2,请使用同心椭圆和同心圆绘制一个图形。

    CRect rect;  //定义矩形
GetClientRect(&rect); //获得客户区矩形
pDC->SetMapMode(MM_ANISOTROPIC); //设置映射模式
pDC->SetWindowExt(rect.Width(),rect.Height()); //设置窗口
pDC->SetViewportExt(rect.Width(),-rect.Height()); //设置视区:x轴水平向右为正,y轴垂直向上为正
pDC->SetViewportOrg(rect.Width()/,rect.Height()/); //设置客户区中心为坐标系原点
rect.OffsetRect(-rect.Width()/,-rect.Height()/); //客户区矩形校正 CPoint ld,rt; //定义椭圆形外接矩形的左下角点与右上角点坐标
/*绘制外部黑色椭圆*/
ld=CPoint(-,-),rt=CPoint(,);
CBrush NewBrush,*pOldBrush;
NewBrush.CreateSolidBrush(RGB(,,));
pOldBrush=pDC->SelectObject(&NewBrush);
pDC->Ellipse(CRect(ld,rt));
pDC->SelectObject(pOldBrush);
NewBrush.DeleteObject();
/*绘制外部白色圆*/
ld=CPoint(-,-),rt=CPoint(,);
pDC->Ellipse(CRect(ld,rt));
/*绘制内部黑色圆*/
ld=CPoint(-,-),rt=CPoint(,);
NewBrush.CreateSolidBrush(RGB(,,));
pOldBrush=pDC->SelectObject(&NewBrush);
pDC->Ellipse(CRect(ld,rt));
pDC->SelectObject(pOldBrush);
NewBrush.DeleteObject();
/*绘制内部白色圆*/
ld=CPoint(-,-),rt=CPoint(,);
pDC->Ellipse(CRect(ld,rt));

MFC绘图小实验(3)的更多相关文章

  1. MFC绘图小实验(1)

    这学期开了一门计算机图形学的课程,感觉蛮有趣的,所以想把书上的那些样例程序都实现一遍,了解基本的绘图原理和要点. 1,使用用户自定义的映射模式,设置窗口大小和视区相等的二维坐标系.视区中x轴水平向右为 ...

  2. MFC绘图小实验(2)

    1,以正五边形的5个顶点为基础,隔点存储构成五角星.填充模式采用WINDING.五角星边界线为5个像素宽的蓝色实线,内部使用红色填充. CRect rect; //定义矩形 GetClientRect ...

  3. PBR综合小实验视频-狮子XL

    这个是上学时候录的一个策略路由小实验

  4. HTML5自学笔记[ 13 ]canvas绘图小实例之方块移动

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. HTML5自学笔记[ 12 ]canvas绘图小示例之鼠标画线

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. ubuntu下格式化内存当硬盘使的小实验

    内存虚拟硬盘(ramdisk)是指通过软件技术,将物理内存进行分割,将一部分内存通过虚拟技术转变为硬盘以较大幅度提升计算机数据读取速度和保护硬盘. 在ubuntu下的dev下有ram相关的文件,这些文 ...

  7. MongoDB 主从复制小实验

    MongoDB 主从复制小实验 操作环境描述:WIN8  64位操作系统,内装虚拟机为CentOS 5.5 32位系统. 操作描述:跟其他关系型数据库类似,在主库进行数据操作,将数据同步到从节点,从节 ...

  8. PS小实验-去除水印

    PS小实验-去除水印 水印是一些品牌商覆盖在图片或视频上的一个商标logo或小文本,比如大家最讨厌的百度logo,作者本人也是比较讨厌水印的,让好端端的一张图片变得美中不足. 个人觉得用photosh ...

  9. 1.4 Crack小实验

    0_day 第一章 基础知识 1.4 Crack小实验 <0day_2th>王清 著 电子书 下载链接:https://pan.baidu.com/s/11TgibQSC3-kYwCInm ...

随机推荐

  1. Python 3.6 安装pip

    1.首先python3.4以后,pip内嵌,不过使用方法是: python -m pip install django 2.如果你觉得上面的指令太长,想用旧方法使用pip,那用以下指令安装pip即可 ...

  2. Linux 移动或重命名文件/目录-mv 的10个实用例子

    本文导航 -初识 mv 命令03% -1.移动文件08% -2.移动多个文件15% -3.移动目录23% -4.重命名文件或目录27% -5. 重命名目录35% -6. 打印移动信息39% -7. 使 ...

  3. 理解Netty中的零拷贝(Zero-Copy)机制【转】

    理解零拷贝 零拷贝是Netty的重要特性之一,而究竟什么是零拷贝呢? WIKI中对其有如下定义: “Zero-copy” describes computer operations in which ...

  4. jquery改变元素上下排列的顺序

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. ffmpeg转码参数设置

    ffmpeg用了很久了,也没有想写点什么. 刚接触ffmpeg也是有大量的不理解的地方,不过慢慢的了解多了基本上都是可以使用的. 本文主要介绍如何使用ffmpeg.exe进行转码.编译好的ffmpeg ...

  6. Python 操作redis 常用方法

    Python 操作redis 1.字符串 #!/usr/bin/env python # -*- coding:utf-8 -*- import redis # python 操作str class ...

  7. 无线投屏PC投电视

    http://www.waxrain.com/index.html 电脑投到电视上,看看PPT,显示电脑屏幕完全ok.

  8. 3. 文本相似度计算-DSSM算法

    1. 文本相似度计算-文本向量化 2. 文本相似度计算-距离的度量 3. 文本相似度计算-DSSM算法 4. 文本相似度计算-CNN-DSSM算法 1. 前言 最近在学习文本相似度的计算,前面两篇文章 ...

  9. iOS全局变量的声明和使用

    在一个项目中,我们可能需要定义几个全局变量,在我们程序的任何位置都可以进行访问,提高我们的开发效率.在iOS中我们如何来实现呢?我们主要使用的是AppDelegate类来实现.如下: (1)AppDe ...

  10. java基础篇---异常处理

    认识异常 异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序 ...