Filtre PNG transparent pour images de fond dans IE - commentaires Filtre png transparent pour images de fond dans IE 2006-11-01T13:48:45Z https://contrib.spip.net/Filtre-png-transparent-pour-images#comment388426 2006-11-01T13:48:45Z <p>une piste qui résoud le probleme de msie et des PNG<br class="autobr"> <a href="http://dean.edwards.name/IE7/" class="spip_url spip_out auto" rel="nofollow external">http://dean.edwards.name/IE7/</a><br class="autobr"> Malheureusement il faut un peu bidouiller en ce qui concerne les :hover sur un fond PNG transparent.</p> Filtre png transparent pour images de fond dans IE 2006-10-30T21:35:41Z https://contrib.spip.net/Filtre-png-transparent-pour-images#comment388369 2006-10-30T21:35:41Z <p>les professionels ne refusent pas de produire des gif, mais le format gif offre seulement 256 couleurs contre plusieurs millions pour le png 24 bits, et apparement, c'est important pour eux. (Et ce filtre vient d'ailleurs d'une demande professionnelle).</p> <p>J'ai vérifié, le cache de spip met en cache le filtre, et le calul du filtre est perdu. ALors, le cache à 0, est ce cher le compromis<small class="fine d-inline"> </small>? Oui, si on réserve cela à l'article « en général ». Mais mon idée de départ ici, n'était pas de donner à des rédacteurs la possibilité de mettre des png 24 bit en image de fond dans leurs articles, mais de permettre à un créateur de sites d'en mettre dans son graphisme en général et de manipuler cela à partir de l'espace privé, sans dépendre du squelette. Dans la demo proposée, le filtre est dans un squelette qui fait 0.8Ko (pied de page dans un article), ça ne va pas côuter très cher. Ce filtre est donc finalement à réserver à des articles particuliers (on peut faire des tas de choses avec un article spip, par exemple un pied ou un en-tête de page) ou des rubriques particulières (calendrier, par exemple), ou encore des brèves... On peut aussi imaginer un squelette article particulier très léger qui servirait, avec du css, à inclure une image de fond png24 dans les articles en général (et ceci toujours à « peu de frais »)</p> <p>Enfin, tu n'es pas obligé d'utiliser ce filtre<small class="fine d-inline"> </small>;)</p> Filtre png transparent pour images de fond dans IE 2006-10-30T20:10:38Z https://contrib.spip.net/Filtre-png-transparent-pour-images#comment388366 2006-10-30T20:10:38Z <p>Je parle bien du cache de SPIP, et je confirme, ce filtre mettra en cache pour tous les visiteurs, le résultat d'un test qui ne les concernera peut-être pas et ceci pour la durée du vie du cache, et pas pour chaque visiteur.</p> <p>Et je crois que je viens de comprendre à quoi ce filtre est destiné : détourner des articles pour réaliser une partie de l'habillage du site parce que « les professionels refusent de produire des gifs »... au détriment des performances si nécessaire en mettant un cache à 0... ça fait cher du compromis je trouve<small class="fine d-inline"> </small>;)</p> <p>Donne-moi tes images, je vais te les transformer en gif gratuitement :)</p> <p>Plus sérieusement, je trouve que l'objectif n'apparaît pas de manière claire dans cet article et que ce n'est pas à mettre dans les mains d'un débutant.</p> Filtre png transparent pour images de fond dans IE 2006-10-30T16:03:14Z https://contrib.spip.net/Filtre-png-transparent-pour-images#comment388358 2006-10-30T16:03:14Z <p>Il est vrai que j'ai écrit ce ce filtre en pensant plus au webmaster qui crée ou bidouille son squelette qu'au rédacteur. En effet, les images de fond, ne sont en général pas des images qu'on change souvent, mais dont on se sert pour bâtir le graphisme de son site, css oblige.</p> <p>Maintenant, en ce qui concerne le cache, s'il s'agit de celui du navigateur, il est propre à chaque navigateur, et donc ne posera pas de problème.</p> <p>S'il s'agit du cache de spip, j'avoue que je ne sais pas si spip met en cache les filtres de mes_fonctions.php3 ou s'il les recalcule, mais voici ce que peut faire simplement un webmaster qui veut une image de fond png24 avec de la transparence (essaye de convaincre un graphiste professionel d'utiliser un gif à la place, et tu comprendras<small class="fine d-inline"> </small>;) pour contourner l'éventuel problème : il peut très bien inclure dans n'importe lequel de ses squelletes, un squelette indépendant, léger, avec le filtre, et de mettre le cache de ce squelette à 0. (C'est ce qu'il y a dans l'exemple, un court squelette pied.php3, avec son cache à 0).</p> <p>Pour le reste, j'ai déjà expliqué plus haut que win_png.htc étant du javascript ne fonctionnait pas avec le css. Et obliger les visiteurs à changer de navigateur, c'est encore plus difficile qu'avec le graphiste professionnel et les gif ...<small class="fine d-inline"> </small>;)</p> Psychologie d'escalier. 2006-10-30T15:59:49Z https://contrib.spip.net/Filtre-png-transparent-pour-images#comment388357 2006-10-30T15:59:49Z <p>Je viens de tester un truc rapidos en SPIP1.9.1 : On peut ajouter la class .format_png dans le modèle img.html, ligne 21 :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[<a href="(#ENV{lien})"[ class="(#ENV{lien_class})"]> ]<img[ class="(#TYPE_DOCUMENT|=={PNG}|?{format_png})"] src='#URL_DOCUMENT'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"] </code></pre></div> <p>etc...</p> <p>En incluant une feuille de style msie.css qui définit la classe :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>.format_png { behavior: url(win_png.htc); }</code></pre></div> <p>et en observant la remarque d'erational dans les commentaires de l'article sur paris-beyrouth si on attache de l'importance à la validation w3c :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>[(#REM) Feuille de style qui corrige les defauts pour les utilisateurs de MSIE] <!--[if lte IE 6]> <link rel="stylesheet" href="[(#CHEMIN{msie.css})]" type="text/css" media="screen" /> <![endif]--></code></pre></div> Filtre png transparent pour images de fond dans IE 2006-10-30T15:05:55Z https://contrib.spip.net/Filtre-png-transparent-pour-images#comment388356 2006-10-30T15:05:55Z <p>C'est un filtre, donc le résultat est dans le cache. Cette méthode s'appuie sur la reconnaissance du client navigateur, il y a donc un hic : si le visiteur qui visite la page utilise un mac, linux ou firefox génère le cache, le visiteur suivant, même avec MSIE, ne bénéficiera pas de l'effet du filtre, puisque la page ne sera pas recalculé, l'effet sera donc aléatoire.</p> <p>Il est demandé aux rédacteurs d'utiliser du code html et un raccourci supplémentaire à la place des raccourcis classiques de gestion de documents associés, autrement dit, les rédacteurs pouvant exploiter cette fonctionnalité devront prédisposer de compétences informatiques importantes afin qu'il sache localiser l'image qui lui est nécessaire pour illustrer son article. Il s'agit bien de faire appliquer la transparence à une image.</p> <p>Il existe une classe dans les feuilles de style par défaut de spip : dans spip_style.css, la classe .format_png, qui applique le fichier win_png.htc.</p> <p>Ne serait-il pas plus simple de faire appliquer cette classe automatiquement à tout document ou vignette png trouvé dans le #TEXTE, et ce quelquesoit le navigateur utiliser au moment de la génération du cache<small class="fine d-inline"> </small>? ou bien encore, en s'appuyant sur jQuery, faire un script au chargement de la page s'inspirant de <a href="http://www.jquery.info/spip.php?article1" class="spip_out" rel='nofollow external'>celui-ci</a><small class="fine d-inline"> </small>?</p> <p>Concernant l'argument lié aux images appelées depuis un css, je peux me tromper, mais je crois qu'il n'y a pas de solution... sinon d'obliger les visiteur à changer de navigateur ou d'utiliser des gif ou des jpg dans ces cas-là :)</p> Filtre png transparent pour images de fond dans IE 2006-10-27T23:04:31Z https://contrib.spip.net/Filtre-png-transparent-pour-images#comment388266 2006-10-27T23:04:31Z <p>Pour résoudre le problème de la transparence des PNG sous MSIE, il existe une autre solution (beaucoup plus simple, me semble-t-il) qui est par exemple décrite <a href="http://www.paris-beyrouth.org/Afficher-du-PNG-24-dans-MSIE" class="spip_out" rel='nofollow external'>ici</a>.</p>