采用不同的方法创建字体

http://blog.csdn.net/wubind/article/details/1968042
采用不同的方法创建字体
2007-12-15 10:08
[例3.8]编写一个单文档的应用程序Li3_8,采用不同的方法创建字体,并根据创建的字体输出不同的文本。
(1)       使用MFCAppWizard创建一个单文档应用程序Li3_8.
(2)       选择项目工作区的ClassView,展开Cli3_8View类,打开成员函数OnDraw().
(3)       在函数OnDraw()中添加如下代码。
void CLi3_8View::OnDraw(CDC* pDC)
{
       CLi3_8Doc* pDoc = GetDocument();
       ASSERT_VALID(pDoc);
       // TODO: add draw code for native data here
    CString outstr[5];
    outstr[1]="1.使用函数CreatPointFont()创建字体字";
    outstr[2]="2.使用函数CreatFontIndirect()创建倾斜、带下划线的黑体字";
    outstr[3]="3.使用函数CreateFont()创建带删除线的大号字";
    outstr[4]="4.使用库存字体对象创建ANSI标准的等宽字";
    CFont *OldFont,NewFont;
    LOGFONT MyFont={
        30,
        10,
        0,
        0,
        0,
        1,
        1,
        0,
        ANSI_CHARSET,
        OUT_DEFAULT_PRECIS,
        CLIP_DEFAULT_PRECIS,
        DEFAULT_QUALITY,
        DEFAULT_PITCH,
        "黑体"
    };
    pDC->TextOut(0,10,"创建字体的几种方法:");
    for(int i=1;i<5;i++){
        switch(i){
        case 1:
            //使用函数CreatPointFont()创建字体
            NewFont.CreatePointFont(200,"宋体",NULL);
            break;
        case 2:
            //使用函数CreateFontIndirect()创建字体
            NewFont.CreateFontIndirect(&MyFont);
            break;
        case 3:
            //使用函数CreateFont()创建字体
            NewFont.CreateFont(30,10,0,0,FW_HEAVY,false,false,
                               true,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
                               CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
                               DEFAULT_PITCH|FF_DONTCARE,"大号字");
            break;
        case 4:
            //使用库存字体对象创建字体
            pDC->SelectStockObject(ANSI_FIXED_FONT);
            break;
        }
        OldFont=pDC->SelectObject(&NewFont);
        pDC->TextOut(0,60*i,outstr[i]);
        pDC->SelectObject(OldFont);
        NewFont.DeleteObject();
    }
}
(4)       编译、链接并运行程序,结果如图3.9所示。

图3.9创建字体的不同方法
例程总结:
    经过例程的学习研究,我掌握了四种方法来创建四种不同的字体的方法:
  1.使用函数CreatePointFont()创建宋体字
  2.使用函数CreateFontIndirect()创建倾斜、带下划线的黑体字
3.使用函数CreateFont()创建带删除线的大号字
    4.使用库存字体对象创建ANSI标准的等宽字
    我已经掌握了使用CFont创建新字体对象和旧字体对象指针的方法,我已经能够使用LOGFONT来创建一个结构体变量,并将它传送给函数CreateFontIndirect()来创建一个新字体,并了解各个变量的意义,我懂得了使用文档指针来调用它的成员函数来输出新字体,使用完新字体之后,恢复旧字体,并删除旧字体。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 电子字体是一种用于电子设备和计算机系统的字体。它是通过数码技术创建的,具有更好的可读性和适应性。电子字体可以在不同的屏幕上和不同的分辨率下显示清晰,具有更精细的线条和更准确的形状。 相比传统印刷字体,电子字体具有一些独特的特点。首先,电子字体可以根据不同的显示设备和屏幕大小进行调整,以确保文字在任何情况下都能够清晰可读。其次,电子字体的设计考虑到了屏幕分辨率和像素密度,以便于用户浏览和阅读。 电子字体在电子设备和计算机系统中广泛应用。无论是在智能手机、平板电脑还是电子书阅读器上,我们都可以看到电子字体的影子。电子字体可以提供更好的阅读体验,使得信息更易于被理解和消化。 此外,电子字体还具有便于编辑和修改的特点。与传统印刷字体不同,电子字体可以通过软件进行编辑和调整,以满足不同的设计需求。这让设计师们可以自由地创造出各种独特的字体样式和字形。 总的来说,电子字体在电子设备和计算机系统中扮演着重要的角色。它们通过提供清晰可读的文字,改善了用户的阅读体验。此外,电子字体还为设计师们提供了更多的自由创作空间。 ### 回答2: Electronic Font是一种电子字体,通常用于电子设备上的显示和打印。它与传统的印刷字体不同,因为它是专门设计和优化用于屏幕上的文本呈现。 Electronic Font的设计考虑了屏幕显示的限制和要求。它们通常具有清晰的线条和较宽的字间距,以确保在低分辨率的显示屏上能够清晰可读。此外,这些字体也被优化为在小尺寸上保持可读性和辨识度。 电子字体有许多用途。它们可以用于计算机上的文字处理软件,使用户能够在屏幕上以清晰的方式编辑和查看文件。它们也广泛应用于网页设计中,因为电子字体可以确保文本在各种尺寸的显示器上保持一致的可读性。 此外,电子字体还可以在电子书阅读器和平板电脑上使用,以提供舒适的阅读体验。这些字体能够减少眼睛疲劳和眼部应变,使用户能够长时间阅读而不感到不适。 总的来说,电子字体是专门为电子设备设计的字体,能够有效地解决屏幕显示和阅读的挑战。通过其优化的设计,它们提供了可读性和舒适性,适用于各种电子设备和应用场景。 ### 回答3: electronicfont是一种电子字体,也被称为计算机字体或数字字体。与传统印刷字体相比,electronicfont具有很多独特的特点和优势。 首先,electronicfont是为电子设备和数字平台设计的字体。它采用了特殊的设计方法和技术,以适应各种显示屏、设备和分辨率。无论是在计算机、手机、平板电脑还是电子书阅读器上,electronicfont都能提供清晰、易读的显示效果,使人们更愿意浏览和阅读。 其次,electronicfont的设计灵感往往来自于电子设备的特点和未来趋势。它们常常具有现代感、科技感和未来感,使得文字更具时尚感和个性化。有些electronicfont还具有动态特效,可以随着文字的变化而产生动态效果,增强视觉冲击力。 此外,electronicfont提供了更广泛的字体选择。在传统印刷中,由于技术和工艺的限制,常常只能使用有限的字体。但在电子设备中,由于可以通过软件加载字体,因此几乎可以使用任何字体。这为设计师和用户提供了更多的创作和选择空间。 最后,electronicfont还可以通过定制和调整来满足不同的需求。设计师可以根据具体的品牌、产品或文案要求,对electronicfont进行个性化的设计和修改,以达到最佳的视觉效果和传达信息的目的。 总之,electronicfont是一种特殊的电子字体,具有清晰、易读、时尚、个性化和自定义等特点和优势。它在电子设备和数字平台上的广泛应用,使得文字显示更加美观、易于阅读,并为用户带来更好的视觉体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值