I have this code in C# to draw the rotated text
        Font font = new Font("Arial", 80, FontStyle.Bold);
        int nWidth = pictureBox1.Image.Width;
        int nHeight = pictureBox1.Image.Height;
        Graphics g = Graphics.FromImage(pictureBox1.Image);
        float w = nWidth / 2;
        float h = nHeight / 2;
        g.TranslateTransform(w, h);
        g.RotateTransform(90);
        PointF drawPoint = new PointF(w, h);
        g.DrawString("Hello world", font, Brushes.White, drawPoint);
        Image myImage=new Bitmap(pictureBox1.Image); 
        g.DrawImage(myImage, new Point(0, 0));
        pictureBox1.Image = myImage;
        pictureBox1.Refresh();
without rotate the text is drawn on the center of image, but with RotateTransform it goes half out of the image and the rotation center is way off.
How can I rotate the text only arount it's center ? without affecting the text position on the image.