O redimensionamento do Picturebox não altera a imagem

Estou usando uma caixa de imagem para criar um visual de uma instância da minha classe de treliça. Estou criando o visual desenhando diretamente na caixa de imagem no evento paint. O método fica assim

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    if (isDraw)
    {
        //Preparing to draw
        Graphics g = e.Graphics;
        g.SmoothingMode = SmoothingMode.AntiAlias;
        g.InterpolationMode = InterpolationMode.Bicubic;
        RunEntry entry = this.passedHistory.SelectedItem as RunEntry;
        AnsFile objToDraw = entry.FileRead;
        Pen pen = new Pen(Color.Black);

        //Getting size of bitmap
        int maxWidth = 0, maxHeight = 0;
        foreach (AnsJoint joint in objToDraw.AnsJoints)
        {
            if (joint.Location.X.Length > maxWidth)
            {
                maxWidth = (int)joint.Location.X.Length;
            }
            if (joint.Location.Y.Length > maxHeight)
            {
                maxHeight = (int)joint.Location.Y.Length;
            }
        }

        //Drawing joints
        foreach (AnsJoint joint in objToDraw.AnsJoints)
        {
            PointF jointPoint = this.ToCartesian(new PointF((float)joint.Location.X.Length - 4f, (float)joint.Location.Y.Length + 10f), maxHeight);
            e.Graphics.DrawString(joint.JointID.ToString(), new Font(FontFamily.GenericMonospace, 6f, FontStyle.Regular, GraphicsUnit.Point, 1, false), Brushes.Black, jointPoint);
        }

        //Draw the panels and links
        foreach (AnsMember member in objToDraw.AnsMembers)
        {
            List<AnsPanel> panels = member.Panels; //Drawing the panels

            foreach (AnsPanel pan in panels)
            {
                pen.Color = Color.Red;
                PointF p1 = this.ToCartesian(new PointF((float)pan.I.Location.X.Length, (float)pan.I.Location.Y.Length), maxHeight);
                PointF p2 = this.ToCartesian(new PointF((float)pan.J.Location.X.Length, (float)pan.J.Location.Y.Length), maxHeight);

                g.DrawEllipse(pen, p1.X - 2.5f, p1.Y - 2.5f, 5, 5);
                g.DrawEllipse(pen, p2.X - 2.5f, p2.Y - 2.5f, 5, 5);

                g.DrawEllipse(pen, p1.X - 3, p1.Y - 3.3f, 5, 5);
                g.DrawEllipse(pen, p2.X - 3, p2.Y - 3.3f, 5, 5);
                pen.Color = Color.Black;
                g.DrawLine(pen, p1, p2);
            }
            List<AnsLink> links = member.Links; //Drawing the links
            foreach (AnsLink link in links)
            {
                PointF p1 = this.ToCartesian(new PointF((float)link.I.Location.X.Length, (float)link.I.Location.Y.Length), maxHeight);
                PointF p2 = this.ToCartesian(new PointF((float)link.J.Location.X.Length, (float)link.J.Location.Y.Length), maxHeight);
                g.FillEllipse(Brushes.Green, p1.X - 1.5f, p1.Y - 1.5f, 3, 3);
                g.FillEllipse(Brushes.Green, p2.X - 1.5f, p2.Y - 1.5f, 3, 3);
                g.DrawLine(pen, p1, p2);
            }
        }
        g.ScaleTransform(.5f, .5f);
        pictureBox1.Tag = entry.FileName;
    }
}

O que gera o resultado que estou esperando

exceto que eu quero que a imagem da treliça seja dimensionada para preencher mais a caixa de imagem. Eu adicionei a chamada ScaleTransform ao final do método de evento de pintura, mas isso não parece ter nenhum impacto, pois a imagem é do mesmo tamanho com ou sem a chamada. Como posso dimensionar o que eu desenho na caixa de figuras para o tamanho da caixa de figuras?

questionAnswers(1)

yourAnswerToTheQuestion