• DotNetMagic的一个Bug


        一个文字颠倒的Bug(对中文而言),在最新的3.0.1中依然存在,看图:

        理想的情况当然是这样:

        花了些时间看了看,发现是在DrawReverseString函数中出的问题,修改如下:

            public static void DrawReverseString(Graphics g,
                                                 String drawText,
                                                 Font drawFont,
                                                 Rectangle drawRect,
                                                 Brush drawBrush,
                                                 StringFormat drawFormat)
            {
                GraphicsContainer container = g.BeginContainer();

                // The text will be rotated around the origin (0,0) and so needs moving
                // back into position by using a transform
                g.TranslateTransform(drawRect.Top, drawRect.Left + drawRect.Height);

                // Rotate the text by 180 degress to reverse the direction
                g.RotateTransform(-90);

       int tmp = drawRect.Width;
       drawRect.Width = drawRect.Height;
       drawRect.Height = tmp;
                // Draw the string as normal and let then transforms do the work
                g.DrawString(drawText, drawFont, drawBrush, drawRect, drawFormat);

                g.EndContainer(container);
            }

        另外,需要去掉DrawColumn函数中的设置的一个StringFormatFlags:

                format.FormatFlags = //StringFormatFlags.DirectionVertical |
                                     StringFormatFlags.NoClip |
                                     StringFormatFlags.NoWrap;
        
        不过修改之后没有详细测试,不知道在其它地方是否会出问题。
        感谢木头指出这个Bug。

  • 相关阅读:
    CART回归树基本原理(具体例子)
    Leetcode 236. 二叉树的最近公共祖先 & 235. 二叉搜索树的最近公共祖先(Python3)
    c和c++的区别
    最小编辑距离python
    判断单链表是否有环,并找出环的入口python
    关键词提取算法-TextRank
    leetcode406 ,131,1091 python
    id3算法python实现
    Relu激活函数的优点
    从 AllocateMessageQueueConsistentHash 看一致性哈希
  • 原文地址:https://www.cnblogs.com/s5689412/p/194453.html
Copyright © 2020-2023  润新知