Ecriture de JPG qui perdent leurs couleurs, pas les PNG

Bernard777
Invité n'ayant pas de compte PHPfrance

24 juin 2009, 10:44

Bonjour,

Dans mon application java, je convertis un BufferedImage en JPG, j'encode en base64, j'envoie au serveur, le php le récupère et l'écrit dans un fichier: les couleurs sont modifiées.

Avec une image PNG ça marche parfaitement.
if ( $photo!=null ){
    $ourFileName = $this->getPathForPhoto($entryuniqueid,$entryname);
    $ourFileHandle = fopen($ourFileName, 'wb');
    fwrite( $ourFileHandle, base64_decode($photo) );
    fclose($ourFileHandle);
}
D'où vient l'erreur svp?

Merci.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

24 juin 2009, 11:05

Un tuto en vidéo pour éviter ça...

En fait, je sais pas, mais avoue que ça détend... ;)

Bernard777
Invité n'ayant pas de compte PHPfrance

24 juin 2009, 12:38

Quelqu'un peut-il m'aider sérieusement svp :)

Bernard777
Invité n'ayant pas de compte PHPfrance

24 juin 2009, 13:51

Désolé pour la pollution, ce n'est pas un bug PHP mais JAVA / JPEG group.

Au cas où ça vous arriverait, sachez que les images JPG qui subissent un redimensionnement via l'opération AffineTransform ne peuvent pas utiliser le filtrage Bilinear si vous comptez les réexporter dans un fichier JPG. Si c'est pour une utilisation directe dans l'application vous pouvez bien sûr.

Customer Workaround:
Only scale BufferedImages using AffineTransformOp.TYPE_NEAREST_NEIGHBOR.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

24 juin 2009, 15:50

Quelqu'un peut-il m'aider sérieusement svp :)
J'aurais eu beaucoup de mal à aller au-delà de ma première réponse. :shock:
J'espère que tu n'es pas trop déçu... :oops: