Puedes usar esta funcion que yo mismo me cree
public static byte[] ConvertImage(byte[] inputBuffer, System.Drawing.Imaging.ImageFormat destFormat)
{//convierte la imagen en el formato que se le envia como segundo parametro
MemoryStream stream = new MemoryStream(inputBuffer);
try
{//si el logo es demasiado grande (normalmente xq no sea vectorial) saltara una excepcion por lo que devuelvo null
System.Drawing.Bitmap inputBmp = new System.Drawing.Bitmap(stream);
System.IO.MemoryStream imgStream = new System.IO.MemoryStream();
inputBmp.Save(imgStream, destFormat);
//inputBmp.Save(@"C:\temp\test.png", destFormat);
byte[] outputBuffer = imgStream.GetBuffer();
imgStream.Close();
return outputBuffer;
}
catch
{
return null;
}
}