


Pourquoi imagecreatefrompng() produit-il un fond noir au lieu d'une zone transparente ?
imagecreatefrompng() Produire un fond noir au lieu d'une zone transparente ?
En PHP, la fonction imagecreatefrompng() est couramment utilisée pour travailler avec PNG images. Cependant, il a été observé que lors de l'utilisation de cette fonction, la transparence PNG peut être convertie en une couleur noire unie.
Pour résoudre ce problème, les étapes suivantes peuvent être mises en œuvre après la création d'un nouveau canevas à l'aide de imagecreatetruecolor() :
- Attribuer une couleur noire : Attribuez une couleur noire à une variable entière à l'aide de la fonction imagecolorallocate().
- Supprimer le noir de la transparence : Utilisez la fonction imagecolortransparent() pour définir le noir comme couleur transparente, le rendant ainsi invisible.
- Désactivez le mélange alpha : Utilisez imagealphablending() avec une valeur fausse pour empêcher le canal alpha d'être mélangé aux couleurs de l'image.
- Activer la préservation du canal Alpha : Utilisez imagesavealpha() avec une valeur vraie pour conserver toute la plage de transparence.
Par En mettant en œuvre ces modifications, les informations du canal alpha dans l'image PNG seront préservées, empêchant sa conversion en fond noir. Le code mis à jour ressemblerait à ce qui suit :
<code class="php"><?php // ... Before imagecreatetruecolor() $dimg = imagecreatetruecolor($width_new, $height_new); // png ?: gif // start changes switch ($stype) { case 'gif': case 'png': // integer representation of the color black (rgb: 0,0,0) $background = imagecolorallocate($dimg , 0, 0, 0); // removing the black from the placeholder imagecolortransparent($dimg, $background); // turning off alpha blending (to ensure alpha channel information // is preserved, rather than removed (blending with the rest of the // image in the form of black)) imagealphablending($dimg, false); // turning on alpha channel information saving (to ensure the full range // of transparency is preserved) imagesavealpha($dimg, true); break; default: break; } // end changes $wm = $w/$nw; $hm = $h/$nh; // ...</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Phparrayshandledatacollectionsefficantyusing indexedorassociativstructures; theyareCreated withArray () ou [], accessedViakeys, modifiedByAssigment, itérated withoreach, andmanipulatedUsingFunction

Ce tutoriel fournit des instructions détaillées sur la façon d'ajouter un bouton "Soumettre Quoation" à chaque article de WordPress dans une liste de types d'article personnalisée. Après avoir cliqué, un formulaire HTML personnalisé avec l'ID d'article apparaît et les données du formulaire sont l'affichage de la soumission et du message de réussite de l'AJAX. Le contenu couvre les paramètres pop-up de l'interface utilisateur jQuery frontal, le transfert de données dynamiques, le traitement de la demande AJAX, ainsi que la mise en œuvre de l'accrocheur AJAX WordPress et le traitement des données back-end, en garantissant des fonctions complètes, une expérience utilisateur sécurisée et bonne.

$ _CookieisaphpsuperglobalForAccessingCooKiessentByThebrowser; cookiesAreSetingSetCooKie () BeforeOutput, ReadVia $ _cookie ['name'], Updated Resenderwithnewvalues, anddeletedBysetinganExpiredtimestamp, withsecurit

TheObserverdesignpatternenablesautomaticnotificationofdependentobjectswhenasubject'sstatechanges.1)Itdefinesaone-to-manydependencybetweenobjects;2)Thesubjectmaintainsalistofobserversandnotifiesthemviaacommoninterface;3)Observersimplementanupdatemetho

Utiliser une interfacestodefineContracts pour les classes liées, garantissant à ce que les implications spécifiques de la responsabilité; 2. ustractClassestoshareCommonLogicamongRelatedClasses whileenforcingInheritance; 3.UsetraTstoreUtyUtilityCodeAcrosses

B-TreeIndexesAreBestFormostPhpapplications, AstheySupportequality andRangequeries, Tri, andareIdEalforColumnSuseInwhere, Join, OrorderByClauses; 2.Full-TextIndexessHouldFornaturAralLanguageorBooleanSearSonTextFieldslikeArlesorProductDescriptiiReScriptidScriptidiansearchesEnTextFieldslikeArlesorProductDescripti

Ce didacticiel détaille comment ajouter un bouton de devis de soumission à l'élément de liste de chaque type de message personnalisé (tel que "immobilier") dans WordPress, et un formulaire HTML personnalisé avec un ID de publication spécifique apparaît après avoir cliqué. L'article couvrira comment créer des popups modaux à l'aide de la boîte de dialogue JQuery UI, passera dynamiquement l'ID de l'article via des attributs de données et utiliser le mécanisme WordPress Ajax pour implémenter la soumission asynchrone des formulaires, tout en traitement des téléchargements de fichiers et afficher les résultats de soumission, offrant ainsi une expérience utilisateur sans couture.

Ce tutoriel fournira des instructions détaillées sur la façon d'implémenter un formulaire de soumission contextuel dans WordPress pour un bouton autonome pour chaque publication personnalisée (comme le type "immobilier"). Nous utiliserons la boîte de dialogue JQuery UI pour créer des boîtes modales et passerons dynamiquement l'ID de l'article via JavaScript. De plus, le tutoriel couvrira comment soumettre des données de formulaire via AJAX et gérer la logique backend sans rafraîchir la page, y compris les téléchargements de fichiers et les commentaires des résultats.
