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. HTML5学习笔记(九):选择器详解

    在前面的笔记中我们已经接触过几种常见的选择器,本笔记我们将深入了解CSS的选择器. 元素选择器 最常见的 CSS 选择器是元素选择器.换句话说,文档的元素就是最基本的选择器.在 W3C 标准中,元素选 ...

  2. FFmpeg(9)-解码器解码代码演示(FFmpeg调用MediaCodec实现硬解码、多线程解码、及音视频解码性能测试)

    一.AVFrame 用来存放解码后的数据. [相关函数] AVFrame *frame = av_frame_alloc();                       // 空间分配,分配一个空间 ...

  3. shell(2):传入参数

    $1,$2  分别表示第一个第二个参数 #!bin/sh ref=$1 trans=$2 echo $ref echo $trans

  4. MyBean 框架入门手册<感谢[青铜]整理的如此细致和系统>

    MyBean 框架入门手册 2014/9/15 by lighttop 目 录 MyBean 框架学习笔记............................................... ...

  5. MyBean - 单实例插件改进和VCL插件的改进

      BeanFactory中添加VclOwners:TComponent属性, 在getBean创建VCL插件的时候,Tcomponent.Create(VclOwners) 这样在清理DLL时就会释 ...

  6. asp.net正则匹配嵌套Html标签

    废话不多说,直接代码 1.要匹配的html代码 <div class="conItem" id="footer"> <a id="g ...

  7. 多线程消息监听容器配置[ 消费者spring-kafka配置文件]

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  8. vue项目的搭建

    ps: 想了解更多vue相关知识请点击VUE学习目录汇总 Vue作为前端三大框架之一截至到目前在github上以收获44,873颗星,足以说明其以悄然成为主流.16年10月Vue发布了2.x版本,经过 ...

  9. [Java]随记--HttpClient发送put请求

    http://blog.csdn.net/u010989191/article/details/52852155 ******************************************* ...

  10. js 删除数组几种方法

    var arr=['a','b','c']; 若要删除其中的'b',有两种方法: 1.delete方法:delete arr[1] 这种方式数组长度不变,此时arr[1]变为undefined了,但是 ...