【GDI+】 线段 文字 定位的问题
遇到一个看起来很简单的问题:
给定两个点,和一组文字,希望文字显示在线的附近并且居中显示。期望像这样的效果
进一步的抽象是:
1、根据文字的长度和高度,以及两个点,来获得文字的定位点(左上角点)的
2、让文字沿着线的方向
关键点分析:
1、点的位置通过向量平移的方式来获得
2、文字沿着线的方向,需要通过矩阵变化来进行
假定点的方向为逆时针方向,可以简单的进行分类:
①类:向左(线段方向,起点 + 文字长度一半 + 线段长度一半)、向上(线段方向旋转90度,文字高度);
②类:向右(线段方向,起点 + 文字长度一半 - 线段长度一半)、向下(线段方向旋转90度,0)
③类:向下(线段方向,起点 + 文字长度一半 + 线段长度一半)、向左(线段方向旋转90度,文字高度)
④类:向上(线段方向,起点 + 文字长度一半 - 线段长度一半)、向右(线段方向旋转90度,0)
假定文字的初始方向为水平的从左到右,可以简单的进行分类:
①类:不旋转
②类:不旋转
③类:逆时针旋转90度
④类:逆时针旋转90度
其他方向,待续~
每多学一点知识,就少写一行代码