Winforms 如何使抽绳在负y比例因子下工作?

Winforms 如何使抽绳在负y比例因子下工作?,winforms,drawstring,scaletransform,Winforms,Drawstring,Scaletransform,在一个私有股票图表上,我使用一个渲染矩形,原点在左下角,y轴反转,比例因子y为负。Y轴记号渲染得很好,但绘图文本(drawstring)是我遇到问题的地方 using (Pen pen = new Pen(_color)) using (Font drawFont = new Font("Arial", 16)) using (SolidBrush drawBrush = new SolidBrush(Color.Black

在一个私有股票图表上,我使用一个渲染矩形,原点在左下角,y轴反转,比例因子y为负。Y轴记号渲染得很好,但绘图文本(drawstring)是我遇到问题的地方

            using (Pen pen = new Pen(_color))
            using (Font drawFont = new Font("Arial", 16))
            using (SolidBrush drawBrush = new SolidBrush(Color.Black))
            {
                pen.Width = 1F / e.Graphics.DpiX;
                foreach (float tick in this.TimeSeriesPanelControl.YTicks)
                {
                    e.Graphics.DrawLine(pen, right, tick, right + 10, tick);
                    // this is not producing text to the right of the tick that renders properly.
                    e.Graphics.DrawString(tick.ToString("F2"), drawFont, drawBrush, right + 15, tick);
                }
            }
我已经看到文本是颠倒的,这是由y坐标上的负比例因子造成的


问题是如何使drawstring将文本呈现在勾号的右侧?

变换矩阵在哪里?它们是如何应用的(按哪个顺序)。负比例因子是什么意思?这是错误的:
pen.Width=1F/e.Graphics.DpiX我的意思是,你是否应用了
e.Graphics.TranslateTransform(0[Canvas.Height])
e.Graphics.ScaleTransform([ScaleX],[ScaleY]),还是将两个矩阵相乘,然后设置
e.Graphics.Transform=[Mul Matrices]
?最初设置为>e.Graphics.TranslateTransform(0,this.ClientRectangle.Height);>e、 图形.比例变换(1,-1);随后在OnPaint中,当已知最小值和最大值y以及原点y时:>e.Graphics.TranslateTransform(70,原点);>e、 图形.ScaleTransform(1,scaleY);这样可以很好地渲染曲线和y记号。问题在于所示的记号标签。最初是e.Graphics.TranslateTransform(0,this.ClientRectangle.Height);e、 图形.比例变换(1,-1);随后在OnPaint中,当已知最小和最大y以及原点y时:e.Graphics.TranslateTransform(70,originY);e、 图形.ScaleTransform(1,scaleY);这样可以很好地渲染曲线和y记号。如图所示,勾号标签存在问题。通过删除所有变换并自行变换所有内容来解决此问题,从而获得更切中要害的解决方案