CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

关于公章效果中文字旋转文字角度计算原理?

楼主sncel(地狱情人-杨勇)2005-11-25 09:40:48 在 C++ Builder / 基础类 提问

我做的公章效果组件,最后一步了,怎么计算每个文字对着圆心的旋转角度    
   
  http://218.108.10.25/download/test.bmp  
   
  如能解决,发布组件源代码,谢谢.  
  问题点数:100、回复次数:6Top

1 楼Waiting4you(毛毛)回复于 2005-11-25 10:09:07 得分 50

按Angle的方向输出,Angle用度数(Deg)表示,比如60.0  
  void   TextOutAngle(TCanvas   *Canvas,int   X,   int   Y,AnsiString   Text,double   Angle)  
  {  
                  HFONT     hFont,   Fontold;  
                  HDC   DC;  
                  if(Text.IsEmpty())   return;  
                  DC=Canvas->Handle;  
                  AnsiString   Fontname=Canvas->Font->Name;  
                  hFont=   CreateFont(Canvas->Font->Height,0,  
                                  Angle*10,Angle*10,  
                                  Canvas->Font->Style.Contains(fsBold)?FW_BOLD:FW_NORMAL,  
                                  Canvas->Font->Style.Contains(fsItalic),  
                                  Canvas->Font->Style.Contains(fsUnderline),  
                                  Canvas->Font->Style.Contains(fsStrikeOut),  
                                  Canvas->Font->Charset,  
                                  OUT_DEFAULT_PRECIS,  
                                  CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,  
                                  FF_DONTCARE&DEFAULT_PITCH,  
                                  Fontname.c_str());  
                  Fontold=   SelectObject(DC,   hFont);  
                  ::TextOut(DC,X,Y,Text.c_str(),Text.Length());  
                  SelectObject(DC,   Fontold);  
                  DeleteObject(hFont);  
  }  
  Top

2 楼PPower(月亮光光,照地堂)回复于 2005-11-25 12:37:09 得分 50

先取得字的高度寬度,再計算形心點(中心點),然後按形心的切線方向畫出即可。  
   
  單個字的畫出角度即為:   形心點到圓心的角度   +   90度   。  
  對於一行字,先設定分布的起始角度及結束角度,然後均分即可。Top

3 楼lhj(努力加油)回复于 2005-11-25 15:44:52 得分 0

佩服,等你的源代码看看了。就在这贴里面公布吧?Top

4 楼jemyzhang(妙狐)回复于 2005-11-25 23:07:53 得分 0

是这样的,你要确定每个字的左上角的坐标,然后计算文字的倾斜角度,记住向左边偏是取正,而且几何的90度对系统来说就是0度,所以要用实际的几何角度减去90度才是倾斜角度。接下来就像   Waiting4you(毛毛)那样写的。TextOut中的x,y就是左上角的坐标Top

5 楼jemyzhang(妙狐)回复于 2005-11-25 23:08:55 得分 0

我在做印章显示方面的研究,期待你的组建哦Top

6 楼sncel(地狱情人-杨勇)回复于 2005-11-26 11:01:25 得分 0

请不要发表可能给我们带来伤害的言论,谢谢配合  
   
  我的代码里没有什么不对的词啊。发不了代码。Top

相关问题

  • 关于公章效果中文字旋转文字角度计算原理?
  • 关于公章效果中文字旋转文字角度计算原理? ?
  • 关于旋转矩阵原理
  • 计算机组成原理的习题
  • 一道计算机原理题
  • 求计算机组成原理书籍
  • 计算机中的哲学原理
  • 问一下时间的计算原理!
  • 高分寻《计算机原理、接口》《数据库原理(VFP)》 参考资料
  • 计算机组织与原理实验该怎么学?

关键词

  • 文字
  • dc
  • 角度
  • fontold
  • hfont
  • canvas
  • angle
  • 字
  • 形心
  • font

得分解答快速导航

  • 帖主:sncel
  • Waiting4you
  • PPower

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo