• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
梧桐爱凤
博客园    首页    新随笔    联系   管理    订阅  订阅

【GDI+】 线段 文字 定位的问题

给定两个点,和一组文字,希望文字显示在线的附近并且居中显示

遇到一个看起来很简单的问题:

给定两个点,和一组文字,希望文字显示在线的附近并且居中显示。期望像这样的效果

进一步的抽象是:

1、根据文字的长度和高度,以及两个点,来获得文字的定位点(左上角点)的

2、让文字沿着线的方向

关键点分析:

1、点的位置通过向量平移的方式来获得

2、文字沿着线的方向,需要通过矩阵变化来进行

 

假定点的方向为逆时针方向,可以简单的进行分类:

①类:向左(线段方向,起点 + 文字长度一半 + 线段长度一半)、向上(线段方向旋转90度,文字高度);

②类:向右(线段方向,起点 + 文字长度一半 - 线段长度一半)、向下(线段方向旋转90度,0)

③类:向下(线段方向,起点 + 文字长度一半 + 线段长度一半)、向左(线段方向旋转90度,文字高度)

④类:向上(线段方向,起点 + 文字长度一半 - 线段长度一半)、向右(线段方向旋转90度,0)

 

假定文字的初始方向为水平的从左到右,可以简单的进行分类:

①类:不旋转

②类:不旋转

③类:逆时针旋转90度

④类:逆时针旋转90度

 

其他方向,待续~

每多学一点知识,就少写一行代码
posted @ 2013-11-22 23:06  梧桐爱凤  阅读(302)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3