<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Commentaires sur : Un watermak PNG propre en PHP</title>
	<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/</link>
	<description>Un blog utilisant WordPress</description>
	<pubDate>Mon, 12 May 2008 15:18:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3</generator>
		<item>
		<title>Par : Immagini con watermark con php : sastgroup.com</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-5350</link>
		<dc:creator>Immagini con watermark con php : sastgroup.com</dc:creator>
		<pubDate>Wed, 09 Apr 2008 12:55:30 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-5350</guid>
		<description>[...] l&#8217;articolo: http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/   Share and Enjoy: These icons link to social bookmarking sites where readers can share and [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] l&#8217;articolo: <a href="http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/" rel="nofollow">http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/</a>   Share and Enjoy: These icons link to social bookmarking sites where readers can share and [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : chapodepay</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-496</link>
		<dc:creator>chapodepay</dc:creator>
		<pubDate>Mon, 28 Jan 2008 20:30:16 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-496</guid>
		<description>Il y a des soucis dans le fichier watermark...
genre parenthese oublié ligne 47...
j'espere que c'est le seul souci car je galère a le faire tourner la !

merci tout de meme</description>
		<content:encoded><![CDATA[<p>Il y a des soucis dans le fichier watermark&#8230;<br />
genre parenthese oublié ligne 47&#8230;<br />
j&#8217;espere que c&#8217;est le seul souci car je galère a le faire tourner la !</p>
<p>merci tout de meme</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Séverin</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-360</link>
		<dc:creator>Séverin</dc:creator>
		<pubDate>Tue, 18 Dec 2007 10:54:30 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-360</guid>
		<description>Oui, dans la mesure du possible, il faut utiliser les fonctions PHP qui sont compilées plutôt que le script qui est interprété à la volée.</description>
		<content:encoded><![CDATA[<p>Oui, dans la mesure du possible, il faut utiliser les fonctions PHP qui sont compilées plutôt que le script qui est interprété à la volée.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-359</link>
		<dc:creator>Pierre</dc:creator>
		<pubDate>Tue, 18 Dec 2007 10:40:42 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-359</guid>
		<description>"De plus, pour un tutoriel il est intéressant de voir comment on peut traiter une image au niveau du pixel."

C'est clair, mais c'est a eviter dans la mesure du possible. Les appels de fonctions php sont horriblement lents (comme ds tous languages de script). L'avantage de la foncton imagefilter est que l'iteration sur tous les pixels et tres rapide.</description>
		<content:encoded><![CDATA[<p>&#8220;De plus, pour un tutoriel il est intéressant de voir comment on peut traiter une image au niveau du pixel.&#8221;</p>
<p>C&#8217;est clair, mais c&#8217;est a eviter dans la mesure du possible. Les appels de fonctions php sont horriblement lents (comme ds tous languages de script). L&#8217;avantage de la foncton imagefilter est que l&#8217;iteration sur tous les pixels et tres rapide.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Séverin</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-358</link>
		<dc:creator>Séverin</dc:creator>
		<pubDate>Tue, 18 Dec 2007 10:19:45 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-358</guid>
		<description>Comme je l'ai précisé dans mon commentaire, il est en effet possible de faire comme tu le décrit, en modifiant la transparence du tampon avant imagecopy.

Mais je vise d'ajouter d'autres capacités à la classe dont l'alpha dégradé pour apparaitre plus sur les bords que au milieu de l'image pour ne pas gêner.

Donc, oui, il y'a d'autres façon de faire, mais celle-ci en est une viable. Même si elle est un peu plus gourmande elle a aussi ces avantages.

De plus, pour un tutoriel il est intéressant de voir comment on peut traiter une image au niveau du pixel.</description>
		<content:encoded><![CDATA[<p>Comme je l&#8217;ai précisé dans mon commentaire, il est en effet possible de faire comme tu le décrit, en modifiant la transparence du tampon avant imagecopy.</p>
<p>Mais je vise d&#8217;ajouter d&#8217;autres capacités à la classe dont l&#8217;alpha dégradé pour apparaitre plus sur les bords que au milieu de l&#8217;image pour ne pas gêner.</p>
<p>Donc, oui, il y&#8217;a d&#8217;autres façon de faire, mais celle-ci en est une viable. Même si elle est un peu plus gourmande elle a aussi ces avantages.</p>
<p>De plus, pour un tutoriel il est intéressant de voir comment on peut traiter une image au niveau du pixel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-357</link>
		<dc:creator>Pierre</dc:creator>
		<pubDate>Tue, 18 Dec 2007 10:00:03 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-357</guid>
		<description>"L’exemple simple, je veux mon logo, avec sa transparence PNG (l’antialiasing du texte par exemple) mais que son fond habituellement opaque ne soit qu’à 50% d’opacité (et donc l’antialiasing que à 50% de son opacité normale)."

Il ne faut pas melanger un antialiasing normal qui n'utilise pas le channel alpha (le blending est fait contre la couleur de fond) et un antialiasing utilisant le channel alpha.

En regardant tes examples, ce que tu aimerais est un mix de imagecopy et de imagecopymerge. C'est a dire d'utiliser le channel alpha de l'image ET ajouter (ou soustraire/diviser/multiplier/...) une valeur a celui-ci. Ce n'est pas directement possible. As-tu l'image utilisee pour le stampe?

Par contre, et cela peut etre plus rapide, tu peux le faire en deux operations:

1. modifie l'alpha du stamp avec imagefilter et le filtre "colorize", ajoute 50% alpga:
 $im = imagefilter(IMG_FILTER_COLORIZE, 0, 0, 0, 63);

2. copie le stamp

J'espere que ca va ameliorer ta classe :)</description>
		<content:encoded><![CDATA[<p>&#8220;L’exemple simple, je veux mon logo, avec sa transparence PNG (l’antialiasing du texte par exemple) mais que son fond habituellement opaque ne soit qu’à 50% d’opacité (et donc l’antialiasing que à 50% de son opacité normale).&#8221;</p>
<p>Il ne faut pas melanger un antialiasing normal qui n&#8217;utilise pas le channel alpha (le blending est fait contre la couleur de fond) et un antialiasing utilisant le channel alpha.</p>
<p>En regardant tes examples, ce que tu aimerais est un mix de imagecopy et de imagecopymerge. C&#8217;est a dire d&#8217;utiliser le channel alpha de l&#8217;image ET ajouter (ou soustraire/diviser/multiplier/&#8230;) une valeur a celui-ci. Ce n&#8217;est pas directement possible. As-tu l&#8217;image utilisee pour le stampe?</p>
<p>Par contre, et cela peut etre plus rapide, tu peux le faire en deux operations:</p>
<p>1. modifie l&#8217;alpha du stamp avec imagefilter et le filtre &#8220;colorize&#8221;, ajoute 50% alpga:<br />
 $im = imagefilter(IMG_FILTER_COLORIZE, 0, 0, 0, 63);</p>
<p>2. copie le stamp</p>
<p>J&#8217;espere que ca va ameliorer ta classe <img src='http://smashingcoding.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Séverin</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-356</link>
		<dc:creator>Séverin</dc:creator>
		<pubDate>Tue, 18 Dec 2007 09:49:41 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-356</guid>
		<description>L'exemple simple, je veux mon logo, avec sa transparence PNG (l'antialiasing du texte par exemple) mais que son fond habituellement opaque ne soit qu'à 50% d'opacité (et donc l'antialiasing que à 50% de son opacité normale).

Si imageCopyMerge propose bien un paramètre de correction d'opacité (le dernier), imageCopy n'en propose pas.

Voilà les différenets résultats qu'on peut obtenir avec les différentes méthodes.

http://www.gamesandgeeks.com/images/demowatermark.htm

Plutôt que le mixage pixel par pixel, une autre méthode aurait été de transformer l'image du logo en en réduisant l'alpha global avant de faire un imagecopy. Mais j'ai préféré le traitement pixel par pixel car ça ouvre plus de possibilités derrière même si elles sont pas utilisées ici.</description>
		<content:encoded><![CDATA[<p>L&#8217;exemple simple, je veux mon logo, avec sa transparence PNG (l&#8217;antialiasing du texte par exemple) mais que son fond habituellement opaque ne soit qu&#8217;à 50% d&#8217;opacité (et donc l&#8217;antialiasing que à 50% de son opacité normale).</p>
<p>Si imageCopyMerge propose bien un paramètre de correction d&#8217;opacité (le dernier), imageCopy n&#8217;en propose pas.</p>
<p>Voilà les différenets résultats qu&#8217;on peut obtenir avec les différentes méthodes.</p>
<p><a href="http://www.gamesandgeeks.com/images/demowatermark.htm" rel="nofollow">http://www.gamesandgeeks.com/images/demowatermark.htm</a></p>
<p>Plutôt que le mixage pixel par pixel, une autre méthode aurait été de transformer l&#8217;image du logo en en réduisant l&#8217;alpha global avant de faire un imagecopy. Mais j&#8217;ai préféré le traitement pixel par pixel car ça ouvre plus de possibilités derrière même si elles sont pas utilisées ici.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-355</link>
		<dc:creator>Pierre</dc:creator>
		<pubDate>Tue, 18 Dec 2007 09:19:24 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-355</guid>
		<description>"Quand je parle de filigrane, je parle de la transparence du PNG mais aussi d’une transparence globale."

La couleur transparente (ou background) est une propriete des images basees sur des palettes.

Le format PNG par exemple ne peut permet pas d'avoir des couleurs translucides (alpha non opaque) et une couleur transparente.

"imageCopy ne gère pas la transparence globale et imagecopymerge (plus quelques manipulations) arrive à la gérer mais pas sur toutes les images."

Par exemple? Une image en memoire n'a plus rien a voir avec le format du fichier. Elle est soit au format truecolor ou utilise une palette de couleurs.


"Le Watermarker que je propose gère donc les deux à la fois : la transparence du fichier PNG et la transparence globale définie et il gère également le cache."

Je ne dis pas que la classe est inutile, seulement que l'operation de blending ne devrait pas etre faite a la main. Les fonctions imagecopy et copymerge fonctionnent tres bien les deux types d'images. Si tu as des exemples demontrant des bugs et/ou des problemes, je serais tres heureux de les analyser et de les fixer le cas echeant.</description>
		<content:encoded><![CDATA[<p>&#8220;Quand je parle de filigrane, je parle de la transparence du PNG mais aussi d’une transparence globale.&#8221;</p>
<p>La couleur transparente (ou background) est une propriete des images basees sur des palettes.</p>
<p>Le format PNG par exemple ne peut permet pas d&#8217;avoir des couleurs translucides (alpha non opaque) et une couleur transparente.</p>
<p>&#8220;imageCopy ne gère pas la transparence globale et imagecopymerge (plus quelques manipulations) arrive à la gérer mais pas sur toutes les images.&#8221;</p>
<p>Par exemple? Une image en memoire n&#8217;a plus rien a voir avec le format du fichier. Elle est soit au format truecolor ou utilise une palette de couleurs.</p>
<p>&#8220;Le Watermarker que je propose gère donc les deux à la fois : la transparence du fichier PNG et la transparence globale définie et il gère également le cache.&#8221;</p>
<p>Je ne dis pas que la classe est inutile, seulement que l&#8217;operation de blending ne devrait pas etre faite a la main. Les fonctions imagecopy et copymerge fonctionnent tres bien les deux types d&#8217;images. Si tu as des exemples demontrant des bugs et/ou des problemes, je serais tres heureux de les analyser et de les fixer le cas echeant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Séverin</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-354</link>
		<dc:creator>Séverin</dc:creator>
		<pubDate>Tue, 18 Dec 2007 08:41:26 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-354</guid>
		<description>@pierre :

C'est vrai que j'ai pas été très clair sur l'introduction. 

Quand je parle de filigrane, je parle de la transparence du PNG mais aussi d'une transparence globale.

imageCopy ne gère pas la transparence globale et imagecopymerge (plus quelques manipulations) arrive à la gérer mais pas sur toutes les images.

Le Watermarker que je propose gère donc les deux à la fois : la transparence du fichier PNG et la transparence globale définie et il gère également le cache.</description>
		<content:encoded><![CDATA[<p>@pierre :</p>
<p>C&#8217;est vrai que j&#8217;ai pas été très clair sur l&#8217;introduction. </p>
<p>Quand je parle de filigrane, je parle de la transparence du PNG mais aussi d&#8217;une transparence globale.</p>
<p>imageCopy ne gère pas la transparence globale et imagecopymerge (plus quelques manipulations) arrive à la gérer mais pas sur toutes les images.</p>
<p>Le Watermarker que je propose gère donc les deux à la fois : la transparence du fichier PNG et la transparence globale définie et il gère également le cache.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : www.blogmemes.fr</title>
		<link>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-351</link>
		<dc:creator>www.blogmemes.fr</dc:creator>
		<pubDate>Mon, 17 Dec 2007 16:32:36 +0000</pubDate>
		<guid>http://smashingcoding.com/2007/12/14/un-watermak-png-propre-en-php/#comment-351</guid>
		<description>&lt;strong&gt;Un watermak PNG propre en PHP...&lt;/strong&gt;

  - Vous aimez cet article ? Votez pour lui sur Blogmemes.fr !Le watermark (filigrane), consiste à rajouter une image sur une autre. Elle va par exemple servir à signaler de quel site provient une image.
Pour faire un collage propre il va falloir le...</description>
		<content:encoded><![CDATA[<p><strong>Un watermak PNG propre en PHP&#8230;</strong></p>
<p>  - Vous aimez cet article ? Votez pour lui sur Blogmemes.fr !Le watermark (filigrane), consiste à rajouter une image sur une autre. Elle va par exemple servir à signaler de quel site provient une image.<br />
Pour faire un collage propre il va falloir le&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
