zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    Java基础——方法
    JavaScript-JSON解析
    JavaScript—事件
    Window 浏览器窗口对象
    JavaScript 事件
    JavaEE——css字体样式效果
    JavaEE——CSS字体样式
    JavaEE——CSS3选择器
    JavaEE——css边框样式
    JavaEE——XML简介
  • 原文地址:https://www.cnblogs.com/s5689412/p/194453.html
Copyright © 2011-2022 走看看