投稿者 るきお  (社会人) 投稿日時 2021/7/21 20:26:59
ギルさんが掲載されたプログラムをシンプルにコピペして、少し補って実行した限りでは問題なく保存できました。

Button3をクリックするまでに何をやっているかが問題ではないかと思います。

私がうまくできているプログラムを載せます。
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        PictureBox1.Image = Image.FromFile("C:\temp\sample.jpg")
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

        Dim result As New Bitmap(400, 400)
        Dim g = Graphics.FromImage(result)

        'PictureBox1の画像を2倍に拡大して、PicutreBox2に表示 
        g.Transform = New Drawing2D.Matrix(2, 0, 0, 2, 1, 1)
        g.DrawImage(PictureBox1.Image, 0, 0)

        PictureBox2.Image = result

    End Sub
    Private Sub Button3_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button3.Click

        SaveFileDialog1.Filter = "画像ファイル(*.jpg *.gif *.bmp)|*.jpg;*.gif;*.bmp"
        If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            PictureBox2.Image.Save(SaveFileDialog1.FileName)     'モザイク化画像ファイル保存 
        End If
    End Sub

End Class


Button1 → Button2 → Button3 の順にクリックして正常に保存できています。
.NET 5 で試しました。