解决方法
当您调用RotateTransform时,您需要注意坐标系结束的位置.如果运行以下代码,则“倾斜文本”将显示在左边缘的左侧;所以它是不可见的:
e.Graphics.Clear(SystemColors.Control); e.Graphics.DrawString("normal text",this.Font,SystemBrushes.ControlText,10,10); e.Graphics.RotateTransform(90); e.Graphics.DrawString("Tilted text",10);
由于您已将图面倾斜90度(时钟),所以y坐标现在将沿着左/右轴(从您的角度)移动,而不是向上/向下移动.更大的数字在左边.所以要将倾斜的文本移动到表面的可见部分,您将需要减小y坐标:
e.Graphics.Clear(SystemColors.Control); e.Graphics.DrawString("normal text",-40);
默认情况下,坐标系的起点位于表面的左上角,因此RotateTransform会旋转曲面.
这是一个说明这个的图像黑色是在调用RotateTransform之前,红色后调用RotateTransform(35):
原文地址:https://www.jb51.cc/csharp/95864.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。