this is my code can't insert the image from the database

Code:
 Dim str As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Jayhson\documents\visual studio 2010\Projects\CBAS\CBAS\data_file.mdf;Integrated Security=True;User Instance=True"
        Dim con As New SqlConnection(str)
        cn.Open()

        Dim sql As String = "INSERT INTO tblData VALUES(@Bcode,@ItemName,@Description,@BcodeImage)"
        Dim cmd As New SqlCommand(sql, con)

        cmd.Parameters.AddWithValue("@Bcode", txtBcode.Text)
        cmd.Parameters.AddWithValue("@ItemName", txtItemName.Text)
        cmd.Parameters.AddWithValue("@Description", rtdescription.Text)

        Dim ms As New MemoryStream()
        PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
        Dim data As Byte() = ms.GetBuffer()
        Dim p As New SqlParameter("@BcodeImage", SqlDbType.Image)
        p.Value = data
        cmd.Parameters.Add(p)
        cmd.ExecuteNonQuery()
        MessageBox.Show("record has been saved", "Save", MessageBoxButtons.OK)

        con.Close()
        txtBcode.Text = ""
        txtItemName.Text = ""
        rtdescription.Text = ""
error
from this code: PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
Value cannot be null.
Parameter name: encoder