lo cierto es que se podría hacer con una capa de mascara, y aplicar un degradado en esta con la forma del degradado. en una capa inferior rellenar con el/los colores deseados, esa sería una forma, la que usaría yo.
Para subir a una web dejando el fondo transparente debes usar un png.