J'essaye de supprimer le canal alpha (transparence) d'un fichier PNG et de le remplacer par un fond blanc en PHP.PHP: Convertir un canal alpha en fond blanc avec ImageMagick
Utilisation de ImageMagick Jusqu'à présent, j'ai essayé plusieurs fonctions sans succès. Ce sont la fonction qui ne fonctionne pas:
$iMagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_DEACTIVATE);
$iMagick->setImageBackgroundColor('#FFFFFF');
$iMagick = $iMagick->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
également setBackgroundColor('#FFFFFF')
au lieu de setImageBackgroundColor('#FFFFFF')
n'a pas aidé. Idem pour remplacer '#FFFFFF'
par 'white'
dans ces 2 fonctions.
Utilisation d'ImageMagick 3.4.0RC6 (date de publication: 2016-11-29) compilée avec ImageMagick 6.8.9-9 Q16 x86_64 2016-03-14. Versions actuelles (Ubuntu 16.04).
Des idées? Merci d'avance
ninsky
J'ai essayé ça et testé avec l'identifiant d'Imagick -verbose. Got: "Profondeur du canal: rouge: 8 bits, vert: 8 bits, bleu: 8 bits, alpha: 1 bit, couleur transparente: aucune". Donc je pense que cela a fait l'affaire. Merci! – ninsky
Pouvez-vous expliquer comment cela fonctionne? – peter
@peter Imaginez une pile d'images, chacune avec des bits transparents (zones transparentes). Tout d'abord, placez une feuille blanche sur votre bureau, c'est-à-dire 'BackgroundColor (white)', puis déposez toutes les autres images avec des zones transparentes sur le dessus. L'effet net est que vous verrez blanc ils sont tous transparents. –