Hi,
I'm not sure, if I understand what you mean, but, when rotating objects in a given GraphicsContext at a specific point, you can use a GraphicsContainer.
I scaled everything by your scaling values and also used your hardcoded numbers...
System.Drawing.Graphics formGraphics = this.CreateGraphics(); formGraphics.ScaleTransform(3f, 1); float width = formGraphics.MeasureString("Welcome", this.Font).Width; formGraphics.DrawRectangle(Pens.DarkRed, 72f, 92f, 237.25f, 151.3f); GraphicsContainer con = formGraphics.BeginContainer(); Matrix mx = formGraphics.Transform; mx.RotateAt(270, new PointF(72f, 92f), MatrixOrder.Append); mx.Translate(-83.5f, 0); formGraphics.Transform = mx; string text = "Welcome"; formGraphics.DrawString(text, this.Font, Brushes.OliveDrab, new RectangleF(83.5f, 94.99f, width, 13.44f)); formGraphics.EndContainer(con);
This will produce a stretched rectangle with a stretched vertical text in it
Regards,
Thorsten.
No comments:
Post a Comment