Comment faire pour convertir un fichier crypté en Base64 PNG pour une image JPG?

J'ai cette Base64 PNG, que je tiens à décoder pour JPG. Si je le convertir en PNG, il fonctionne très bien, à l'aide de:

list($type, $data) = explode(';', $data);
list(, $data)      = explode(',', $data);
$data = base64_decode($data);
file_put_contents('myDirectory/filename.png', $data);

Mais si j'essaie de l'enregistrer en format JPG, il sort en noir et blanc à l'aide de (MyDirectory/filename.jpg).

Comment puis-je le convertir en JPG? voici un exemple de mon Base64 PNG:

data:image/png;base64,iVBORw0KGgoAAAANSUhE...
la différence entre le jpeg et le png ne sont pas seulement les extensions, c'est un tout autre encodage
je sais, aucune idée de comment faire le codage différent?
stackoverflow.com/questions/1201798/... ou stackoverflow.com/questions/8550015/...?

OriginalL'auteur Nader Khan | 2013-01-25