使用C中自带的驱动去改变字体和颜色

一.c语言中字体的问题

c语言中有两种显示方式,即文本方式和图形方式。就我所知,只能在图形方式下控制字体.

先看一下c中定义的几种字体

名称 索引值 字体说明

default_font 0 8x8 bit-mapped font

triplex_font 1 stroked triplex font

small_font 2 stroked small font

sans_serif_font 3 stroked sans-serif font

gothic_font 4 stroked gothic font

(字体说明中的英文解释无须明白,在例子的演示中去看)

请看例子(摘自tc3.0的联机帮助文件)

例一.

#include
#include
#include
#include
/* the names of the text styles supported */
char *fname[] = { "default font",
"triplex font",
"small font",
"sans serif font",
"gothic font"
};
int main(void)
{
/* request auto detection */
int gdriver = detect, gmode, errorcode;
int style, midx, midy;
int size = 1;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult();
if (errorcode != grok) /* an error occurred */
{
printf("graphics error: %s ", grapherrormsg(errorcode));
printf("press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
midx = getmaxx() / 2;
midy = getmaxy() / 2;
settextjustify(center_text, center_text);
/* loop through the available text styles */
for (style=default_font; style<=gothic_font; style++)
{
cleardevice();
if (style == triplex_font)
size = 4;
/* select the text style */
settextstyle(style, horiz_dir, size);
/* output a message */
outtextxy(midx, midy, fname[style]);
getch();
}
/* clean up */
closegraph();
return 0;
}

源代码讲解:

上面的例子中,控制字体用settextstyle函数,style参数是选择字体的,关于其它的参数说明可参考联机帮助。outtextxy函数用来输出文本。

如果老兄是想显示各种不同字体的汉字话,那得麻烦点。这里不想多说,只提供两种方案

(1) 利用ucdos的汉字特显技术,用c中的printf函数带上特殊参数即可,具体可参考有关资料(比如《电脑爱好者》中曾讲过)

(2) 在图形模式下,调用字体文件,用c函数putpixel输出。推荐参考书

[1]《c语言最新编程技巧200例》(修订本)鲁沐浴主编 电子工业出版社 1997

时间: 2024-10-30 15:17:44

使用C中自带的驱动去改变字体和颜色的相关文章

C#中代码Dialog控件实现(打开,保存,改变字体,颜色,打印功能)

打印|控件 打开: private void openFileDialogBTN_Click(object sender, System.EventArgs e){OpenFileDialog openFileDialog=new OpenFileDialog();openFileDialog.InitialDirectory="c:\\";//注意这里写路径时要用c:\\而不是c:openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|

在griw中如何通过一个函数去改变绑定的数据值

问题描述 我现在在做一个用户信息的绑定,密码我是通过MD5加密算法得出的,所以保存在数据库中的密码是已通过加密的数据,现我要把这个密码读出来,要把它显示成解了密的数据,怎么样把经加密的数据转换呢:例如:密码是admin,加密后在数据库中保存的是19-A2-85-41-44-B6-3A-8F-76-17-A6-F2-25-01-9B-12现我要把它通过解密函数user.Encrypt(stringpassword)读出来在gridview绑定要怎样表示呢 解决方案 解决方案二:MD5算法不可解密,

WIN7系统用自带的驱动安装hp5200LX打印机?

  hp5200LX在WIN7系统用自带的驱动安装 1.首先连接USB线(线不要过长,2米以内),在设备和打印机中会多出来一个5200LX的图标,上面打着黄色感叹号,如下图1 2.在5200lx图标上,右键属性,弹出以下界面.如下图2 3.选择硬件,找到Generic IEEE1284.4 printing support选中,点击属性,如下图3 4.选择驱动程序,选择更新驱动程序,如下图4 5.弹出以下界面,选择浏览计算机以查找驱动程序软件,如下图5 6.选择从计算机的设备驱动列表中选择,下一

Linux 有问必答:如何在Ubuntu或者Debian中编译安装ixgbe驱动

Linux 有问必答:如何在Ubuntu或者Debian中编译安装ixgbe驱动 提问: 我想为我的Intel 10G网卡下载安装最新的ixgbe驱动.我该如何在Ubuntu(或者Debian)中安装ixgbe驱动? Intel的10G网卡(比如,82598. 82599. x540)由ixgbe驱动支持.现代的Linux发行版已经带有了ixgbe驱动,通过可加载模块的方式使用.然而,有些情况你希望在你机器上的自己编译安装ixgbe驱动,比如,你想要体验ixbge驱动的最新特性时.同样,内核默认

c# 控件 自定义控件-在winfrom中插入webBrowser后 怎么去读取webBrowser中的坐标值勒

问题描述 在winfrom中插入webBrowser后 怎么去读取webBrowser中的坐标值勒 黑色框内是wenBrowser的范围内 我如果点击白色区域就可以读取到坐标值 在贴吧问了都没有人会带 百度了很多相关答案 但都不是我能理解的 毕竟我学C#时间还不长 问题的详细信息在下面链接 求前辈指点迷津 谢谢了! CSDN移动问答

中国电信北京研究院副院长陈运清:网络云化推进中技术和商业驱动场景探讨

由天地互连.下一代互联网国家工程中心主办的"2017全球SDNFV技术大会" (2017.chinasdn.org)于 2017年8月2-3日,在北京国宾酒店火热开幕.在3日上午的大会中,中国电信北京研究院副院长陈运清做了"网络云化推进中技术和商业驱动场景探讨"的主题演讲. 中国电信北京研究院副院长陈运清 以下为现场演讲实录: 陈运清:大家上午好.我今天介绍的题目,关于网络云化.我以前演讲的风格是偏重于切入一个点,今天改变一下风格,前天是杨董事长和集团各位领导到了我

信息服务到田头带着手机去放牛

从2004年开始,中央一号文件都是"三农"内容,农村信息化也一直是各界关注的重点.广东全省共有行政村2万多个.自然村约12万个,农村人口超过3000万.中国移动广东公司(以下简称广东移动)将移动信号覆盖了100%的行政村和95%的自然村.笔者看到,稳固和强大的网络保障为农村信息化打好了坚实的基础,让社会热点.政府重点.市场需求点有机结合起来,从示范点建设到发展农村行业大市场,从"信息进村"到"信息出村",为我们勾勒出一幅充满希望的"信息

你留意到和参与#带着微博去旅行#的彩蛋任务了吗?

摘要: 作者:Nikki 你留意到和参与#带着微博去旅行#的彩蛋任务了吗? 自8月22日起, 用户进入新浪微博新版手机客户端后,都能看到超过2.5亿参与量的#带着微博去旅行#活动的最新任务发布. 作者:Nikki 你留意到和参与#带着微博去旅行#的彩蛋任务了吗? 自8月22日起, 用户进入新浪微博新版手机客户端后,都能看到超过2.5亿参与量的#带着微博去旅行#活动的最新任务发布.每隔几天一个旅行新任务就会自动开启,只要你根据任务主题分享照片,就能根据完成情况赢取包括HTC手机.香港.土耳其和马尔

安卓应用开发-安卓开发中红米手机拍照发出去后为啥旋转了90度

问题描述 安卓开发中红米手机拍照发出去后为啥旋转了90度 10C 开发过程中,做了一个类似微信朋友圈的东西,拍照上传图片的时候,在红米手机上遇到了这个问题,本来是正着拍摄,发出去后在朋友圈显示的是旋转了90度的,如图所示,键盘旋转了90度 解决方案 跟手机有关,手机拍照默认横屏 解决方案二: 我也是红米,做移动开发时拍照是正常的