当前位置: 首页 > wzjs >正文

北京网站建设正邦网络营销学校

北京网站建设正邦,网络营销学校,河北省住房和城乡建设厅网站官网,网站建设哪些模板号【说明】上一篇讲了基础图形的绘制,那么这一篇就来讲一下如何在窗口上绘制文字吧,友友们一起学习吧。(>y<)(^v^) 一:文字…

【说明】上一篇讲了基础图形的绘制,那么这一篇就来讲一下如何在窗口上绘制文字吧,友友们一起学习吧。(>y<)(^v^)

一:文字绘制函数

文字绘制函数用于在窗口上绘制文字

outtextxy(int x,int y,LPCTSTR str)在指定位置输出字符串
settextcolor(…)设置当前文字颜色
settextstyle(int nHeight,int nWidth,LPCTSTR lpszFace)设置字体样式,nHeight—指定整体字符串高度(可以理解为字体大小),nWidth—字符的平均宽度(如果为0,比例自适应),lpszFace—字体名称(只要你的系统中有,都可以写)
textheight(LPCTSTR str)获取字符串实际占用的像素高度
textwidth(LPCTSTR str)获取字符串实际占用的像素宽度

textheight(LPCTSTR str),textwidth(LPCTSTR str)可以用于文本的垂直和水平居中显示。

二:正文

(先说明一下,如果输出文字想用 scanf,那么友友们可以自己动手试一试,显而易见,是不行的。它只能在控制台显示,却在绘图窗口上无法显示的。)

1.基础代码

#include <stdio.h>
#include <graphics.h>
int main()
{//创建一个窗口,窗口长300,宽100initgraph(300, 100);//设置背景颜色setbkcolor(WHITE);//first stepcleardevice();//second step//绘制文字settextcolor(RED);//注意这个函数的位置,是要在输出字符之前的//1.输出单个字符是没有问题的,但当输出多个字符时,会报错,是字符集导致的,不了解的可以去搜索一下哦outtextxy(100, 20, 'w');/*2.输出多个字符时,有以下几种方式1)在字符串前面加上大写的L,outtextxy(50, 50, L"Hello World")2)在TEXT()把字符串包起来,outtextxy(50, 50, TEXT("Hello World"))3)!!不需要添加任何代码,打开上方项目->属性->高级->字符集->使用多字节字符集,就可以了,!!推荐使用这个,这样就不用每个改一遍了,也可以规避一些错误*/outtextxy(50, 50, "Hello World");getchar();//不写这个会闪退//关闭窗口closegraph(); 
//这个写不写无所谓,问题不大return 0;
}

接下来会在以上代码的基础上进行一些改变,下面的代码会很简洁,详细的代码注释在第一个代码中,也方便友友们看的更加简洁。(^v^)

2.改变输出字体

#include <stdio.h>
#include <graphics.h>
int main()
{initgraph(700, 200);//设置背景颜色setbkcolor(WHITE);cleardevice();setlinecolor(BLUE);circle(50, 50, 50);//绘制文字settextcolor(RED);settextstyle(50, 0, "楷体");outtextxy(50, 50, "世界灿烂盛大,欢迎回家");getchar();//不写这个会闪退closegraph(); return 0;
}

我们可以看到字体遮住了我们所画的图形,可知字体的背景是白色的,有没有什么办法去掉呢?

3.去掉字体背景颜色

#include <stdio.h>
#include <graphics.h>
int main()
{initgraph(700, 200);setbkcolor(WHITE);cleardevice();setlinecolor(BLUE);circle(50, 50, 50);settextcolor(RED);settextstyle(50, 0, "楷体");//设置背景模式,transparent,设置为透明setbkmode(TRANSPARENT);outtextxy(50, 50, "世界灿烂盛大,欢迎回家");getchar();closegraph(); return 0;
}

这样就可以了。

4.改变字体颜色,这里用了RGB

除了上面代码中直接输入我们所熟知的“RED"等颜色,我们还可以自己手动输入三个数据,这里还有一个比较快捷的方式,当你在页面中看到想要的颜色,可以Ctrl+Alt+A,将箭头指向你想要的颜色,按下C,然后 Ctrl+V 复制,就可以了。

settextcolor(RGB(214, 157, 118));//注意每个值不要超过255
outtextxy(50, 50, "世界灿烂盛大,欢迎回家");

5.文本的垂直和水平居中显示

这个还是有点意思的。如下图,怎么能让文字居中显示在矩形中呢?

#include <stdio.h>
#include <graphics.h>
int main()
{initgraph(700, 200);setbkcolor(WHITE);cleardevice();settextcolor(RED);settextstyle(20, 0, "楷体");setbkmode(TRANSPARENT);//outtextxy(100, 150, "世界灿烂盛大,欢迎回家");//画个矩阵,四个参数分别表示矩阵左上角的坐标,右下角的坐标(x,y)setfillcolor(YELLOW);setlinecolor(BLUE);fillrectangle(200, 50, 500, 100);//文字居中char ch[] = "世界灿烂盛大,欢迎回家";//求出字符串的宽度,高度用textwidth,textheight函数int width = 300 / 2 - textwidth(ch) / 2;int height = 50 / 2 - textheight(ch) / 2;outtextxy(200 + width, 50 + height, ch);getchar();closegraph(); return 0;
}

至于原理,其实仔细想想就能明白。下面的图更加直观

三:总结

好了,关于文字的绘制就讲到这里了,下一章会讲到图像输出的相关问题,每章讲的知识不多,一步一步来吧 (。・ω・。)  如果对友友有用的话,就给我点个赞吧(^~^)ヽ(*≧ω≦)ノ,下次见。

http://www.dtcms.com/wzjs/34255.html

相关文章:

  • 网站开发的薪资是多少百度客服人工电话95188
  • 网站提升权重企业宣传推广方案
  • 网站图片最大尺寸软文代写是什么
  • 广州做网站哪家强如何建立自己的网站?
  • 自己建一个网站难吗百度seo推广软件
  • wordpress美化插件大全谷歌seo推广培训班
  • 免费crm网站下载湖南seo优化按天付费
  • 大设计师论坛网页设计seo行业岗位
  • 怎么做云购网站吗数字经济发展情况报告
  • 虚拟主机代理商的网站打不开了怎么办武汉seo广告推广
  • 旅游外贸网站建设推广seo怎么发布外链
  • 宿迁做网站的公司潍坊网站建设平台
  • 东营市住房和城乡建设管理局网站西安网站推广
  • 网络绿化网站建设哪家专业竞价排名推广
  • ps加dw做网站黑马培训价目表
  • 上海网站建设报价书故事式软文范例100字
  • 海南工程建设资料备案网站快速排名网站
  • 外贸网站 测速北京今日重大新闻
  • 旧域名怎么做新网站营销方式和手段有哪些
  • 网站服务搭建sem对seo的影响有哪些
  • 网络营销外包专家正规seo多少钱
  • 网站建设价格标准信息百度信息流代理
  • 宠物网站建设方案书seo快速上排名
  • 自己建网站百度到吗宁波搜索引擎优化seo
  • 广州 营销型网站深圳网站开发
  • app网站建设需要什么在线生成个人网站app
  • 商务网站建站国家培训网官网
  • 开了个网站用年份做名字好吗云浮seo
  • wordpress鱼南宁seo网络推广
  • 怎么给企业制作网站google关键词搜索技巧