1. Valores separados son argumentos
2. Una cadena de valores separados por comas no son argumentos
3. La función esperaría que le pases 4 argumentos, pero le pasas 2 (el último es cadena)
¿Pues como quieres que funcione algo que así no es posible?
Debes hacerlo de otra forma, almacenar los valores por separado en un array y argumentarlos uno por uno. O bien usar la función call_user_func_array() para pasarlos en conjunto.
Código PHP:
$foo = array(255, 255, 255);
$bar = call_user_func_array('la_funcion', $foo);
Si tienes dudas, consulta el manual.