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


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

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

    进一步的抽象是:

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

    2、让文字沿着线的方向

    关键点分析:

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

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

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

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

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

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

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

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

    ①类:不旋转

    ②类:不旋转

    ③类:逆时针旋转90度

    ④类:逆时针旋转90度

    其他方向,待续~

    每多学一点知识,就少写一行代码
  • 相关阅读:
    【BZOJ 1455】罗马游戏
    【UR #2】树上GCD
    1067: [SCOI2007]降雨量
    1068: [SCOI2007]压缩
    1066: [SCOI2007]蜥蜴
    1065: [NOI2008]奥运物流
    1064: [Noi2008]假面舞会
    1063: [Noi2008]道路设计
    2329: [HNOI2011]括号修复
    2734: [HNOI2012]集合选数
  • 原文地址:https://www.cnblogs.com/loveclumsybaby/p/3438418.html
Copyright © 2020-2023  润新知