大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 如何在 BCB 中旋转并输出文字

如何在 BCB 中旋转并输出文字

时间: 2021-07-31 作者:daque

有很多作品引见怎样在 vc 中输入回旋笔墨,但却很罕见到哪篇作品引见在 bcb 中爆发一致功效的。。及至于很多人觉得在 bcb 中是没辙做到一致功效的,固然那些人就有来由在何处口口声声地说 bcb 怎样怎样的低劣了!这个固然和 bcb 自己那套图形组件的安排是有很大联系的。vcl 图形组件封装了 windows  图形摆设接口(gui),使得在 windows 步调安排中增添图形变得很简单。bcb 的安排简直很特出!它的企图是将 vcl 图形组件 安排成三个档次:最高层:绘制线条和图形,比方:moveto, lineto, rectangle, and ellipse              输入并遏制文本,比方:textout, textheight, textwidth, and textrect              弥补形势,比方:fillrect and floodfill中层:   定制输入的文本和图形,经过遏制以部下性:pen, brush, and font,pixels              复制以及兼并图形,比方:draw, stretchdraw, brushcopy, and copyrect 本领; copymode 属性底层:  径直挪用 windows 的 gdi 因变量,vcl 图形组件中供给了一个 handle 属性,经过它,你能遏制十足!bcb 的用户绝大普遍只会运用高层和中层的少许本领和属性,她们压根不领会再有一个什么 handle 属性!对准那些用户,以及那些对 bcb 有疑义的人,我供给了底下这个例子来证明 bcb 的宏大以及易用性。很大略,几句代码:void __fastcall tform1::formpaint(tobject *sender){         logfont lf;        getobject(canvas->font->handle,             sizeof (logfont),               &lf);        lf.lfescapement =  450;   //set to 450 to make 45 degree angle        lf.lforientation = 450;        lf.lfoutprecision = out_tt_only_precis;        canvas->font->handle = createfontindirect (&lf);        canvas->brush->style = bsclear;         canvas->pen->color=clred;        canvas->textout (20, 120, "wow!! angled text!");}如何样?是否很大略啊。。。我牢记在 vc 中单设置一个字体变量就要十多个参数呢!底下咱们来大略地领会一下这个例子:第一句:logfont lf;logfont 变量能实足地遏制了字体的属性,在 wingdi.h 中被设置为:typedef logfonta logfont; 而 logfonta 设置为:typedef struct taglogfonta{    long      lfheight;    long      lfwidth;    long      lfescapement;    long      lforientation;    long      lfweight;    byte      lfitalic;    byte      lfunderline;    byte      lfstrikeout;    byte      lfcharset;    byte      lfoutprecision;    byte      lfclipprecision;    byte      lfquality;    byte      lfpitchandfamily;    char      lffacename[lf_facesize];} logfonta;第二句:getobject(canvas->font->handle,    //看!用到 handle 属性了吧!这句用来博得画布字体的句柄          sizeof (logfont),       //这句博得 logfont 的 size          &lf);底下几句经过安排 logfont 的属性来遏制字体lf.lfescapement =  450;   //set to 450 to make 45 degree anglelf.lforientation = 450;lf.lfoutprecision = out_tt_only_precis;底下创造了一个新的字体,而且用来树立 canvas->font 的字体canvas->font->handle = createfontindirect (&lf);canvas->brush->style = bsclear; canvas->pen->color=clred;canvas->textout (20, 120, "wow!! angled text!");就这么大略。。。在底层遏制其余的图形也一致于这种本领,大师不仿试试:)

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.