¿Cómo puedo escribir un método de extensión que convierta un System.Drawing.Bitmap en una matriz de bytes?

¿Cómo puedo escribir un método de extensión que convierta un System.Drawing.Bitmap en una matriz de bytes? Por qué no:

<Extension()> _
Public Function ToByteArray(ByVal image As System.Drawing.Bitmap) As Byte()
    Using ms = New MemoryStream()
        image.Save(ms, image.RawFormat)
        Return ms.ToArray()
    End Using
End Function

Sin embargo, cuando uso eso, obtengo "System.Runtime.InteropServices.ExternalException: se produjo un error genérico en GDI +" arrojado desde la operación Save (). ¿Qué estoy haciendo mal?

Respuestas a la pregunta(4)

Su respuesta a la pregunta