社区
C++ Builder
帖子详情
高分求教:truetype字库的使用问题
pqx2002
2003-07-17 02:09:01
如何从truetype字库中查找到字符的矢量信息(轮廓?和内部填充的直线信息) ,例如“A”,然后利用画图(直线)的办法将其显示在画布(Canvas)上呢?
凡是提供有用信息和例子的大哥,一定给分。
...全文
40
25
打赏
收藏
高分求教:truetype字库的使用问题
如何从truetype字库中查找到字符的矢量信息(轮廓?和内部填充的直线信息) ,例如“A”,然后利用画图(直线)的办法将其显示在画布(Canvas)上呢? 凡是提供有用信息和例子的大哥,一定给分。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
柯本
2003-08-19
打赏
举报
回复
还有一贴,你也可看看
http://expert.csdn.net/Expert/topic/2098/2098463.xml?temp=.3817255
我很奇怪,你与atulss (阿土) 会提同样的问题
柯本
2003-08-19
打赏
举报
回复
完全同样的问题,我已经回答:
http://expert.csdn.net/Expert/topic/2111/2111154.xml?temp=.5483667
csdnxw
2003-08-19
打赏
举报
回复
判断闭合图形的左右坐标,然后划线,试试吧
atulss
2003-08-19
打赏
举报
回复
up
pqx2002
2003-08-19
打赏
举报
回复
我的问题已经解决,就是抛弃一切幻想,采用扫描线算法,对所有边进行扫描,求出交点,然后再处理一番,最后得到所有的填充数据。哎,靠天靠地不如靠自己啊!
pqx2002
2003-08-04
打赏
举报
回复
UP
pqx2002
2003-08-01
打赏
举报
回复
UP
atulss
2003-08-01
打赏
举报
回复
楼主有好办法可要告诉我一声,我也在解决这类问题
atulss
2003-08-01
打赏
举报
回复
up
pqx2002
2003-07-31
打赏
举报
回复
UP
pqx2002
2003-07-31
打赏
举报
回复
重申:我需要的是填充算法,不是某个函数的用法,我不是要把它输出到屏幕或打印机上,而是只能画直线的激光设备,我需要控制激光设备一条线一条线的把图形画出来。
我来看看CB
2003-07-31
打赏
举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Canvas->TextOut(Button1->Left+40,Button1->Top+140,"空心字");
Canvas->Font = Font;
Canvas->Brush->Color = clBlue;
Canvas->Brush->Style = bsSolid;
SIZE StrExt = Canvas->TextExtent("描边汉字");
int x,y;
x=Button1->Left+40;
y=Button1->Top+40;
BeginPath(Canvas->Handle);
Canvas->TextOut(x,y,"描边汉字");
EndPath(Canvas->Handle);
HRGN hrgnStr = PathToRegion(Canvas->Handle);
HRGN hrgnBound = CreateRectRgn(x,y,x+StrExt.cx,y+StrExt.cy);
CombineRgn(hrgnStr,hrgnBound,hrgnStr,RGN_DIFF);
// FrameRgn(Canvas->Handle,hrgnStr,Canvas->Brush->Handle,1,1);
// FrameRgn(Canvas->Handle,hrgnStr,Canvas->Brush->Handle,2,2);
// Image1->Canvas->Brush->Color=clRed;
Image1->Canvas->Brush->Color=clRed;
FillRgn(Canvas->Handle,hrgnStr,Image1->Canvas->Brush->Handle);
Canvas->Brush->Color=clYellow;
FrameRgn(Canvas->Handle,hrgnStr,Canvas->Brush->Handle,1,1);
}
yesry
2003-07-31
打赏
举报
回复
up
bluebohe
2003-07-31
打赏
举报
回复
首先设置绘图模式
SetBkMode (hdc, TRANSPARENT) ;
然后,设置绘图路径
BeginPath (hdc) ;
中间添加你绘制的文字轮廓,注意文字轮廓一定是闭合的
MoveTo(……);
LineTo(……);
结束绘图路径
EndPath (hdc) ;
最后,填充绘图路径
FillPath (hdc) ;
我想就这样的
pqx2002
2003-07-31
打赏
举报
回复
UP
pqx2002
2003-07-31
打赏
举报
回复
能否提供 FillRgn 函数的实现细节,即这个函数填充多边形的原理、过程?
pqx2002
2003-07-31
打赏
举报
回复
UP
pqx2002
2003-07-31
打赏
举报
回复
bluebohe(薄荷) :
没有什么绘图语言,只能通过向端口发送指令来控制激光器的移动。
bluebohe
2003-07-31
打赏
举报
回复
你的激光设备的绘图语言是什么?
ybluo
2003-07-30
打赏
举报
回复
Programming Windows, Fifth Edition 有一章是关于字体的
加载更多回复(5)
汉子、ASCII码点阵
字库
12、16、24、48点阵
字库
虽然现代显示器普遍
使用
矢量字体(如
True
Type
或Open
Type
)提供更高质量的显示效果,但在某些特定环境下,点阵
字库
仍有其不可替代的作用。 6. 点阵
字库
的生成与
使用
:生成点阵
字库
通常需要专门的字体设计软件,设计...
True
type
造字程序
True
Type
是一种广泛
使用
的字体技术,尤其在Windows操作系统中极为常见。它由Apple和Microsoft于1980年代末联合开发,旨在提供高质量、可缩放的文本渲染,使得计算机能够生成清晰、细腻的字体,无论是在小尺寸的屏幕...
Windows图形编程(pdf)
Windows支持RGB、CMYK等颜色模式,以及
True
Type
字体和其他多种系统字体。理解如何选择和
使用
合适的颜色及字体,可以极大地提升应用的视觉效果。 在GDI+中,我们可以利用Graphics类来绘制图形。例如,可以创建Pen...
在VxWorks系统中
使用
True
Type
字库
同时又能实现所见即所得(WYSIWYG)的打印,传统的
使用
点阵
字库
的方法已经不能满足要求,有一个很好的方法——
使用
True
Type
字库
,可以同时解决以上两个
问题
.介绍了
True
Type
技术的基本原理及在Vxworks系统中如何通过...
C++ Builder
13,874
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章