tag:forum.selfhtml.org,2005:/self Wasserzeichen mit transparenten Hintergrund – SELFHTML-Forum 2019-08-20T04:58:27Z https://forum.selfhtml.org/self/2019/aug/19/wasserzeichen-mit-transparenten-hintergrund/1756056#m1756056 Stefan Einspender 2019-08-19T15:46:42Z 2019-08-19T15:46:42Z Wasserzeichen mit transparenten Hintergrund <p>Hallo,</p> <p>auf ein bestehendes Bild möchte ich diagonal an den Ecken einen Schriftzug schreiben, welcher etwas durchlässig sein soll. Wenn der Schriftzug waagerecht platziert ist, alles kein Problem, aber wenn ich in drehe, dann ist das erzeugte Rechteck nicht transparent, was natürlich sehr unschön aussieht:</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token variable">$filename</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'https://jpeg.org/images/jpeg-home.jpg'</span><span class="token punctuation">;</span> <span class="token function">header</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'Content-Type: image/jpeg'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">list</span><span class="token punctuation">(</span><span class="token variable">$width</span><span class="token punctuation">,</span> <span class="token variable">$height</span><span class="token punctuation">)</span> <span class="token operator">=</span> <span class="token function">getimagesize</span><span class="token punctuation">(</span><span class="token variable">$filename</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$image</span> <span class="token operator">=</span> <span class="token function">imagecreatefromjpeg</span><span class="token punctuation">(</span><span class="token variable">$filename</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$sx</span> <span class="token operator">=</span> <span class="token number">300</span><span class="token punctuation">;</span> <span class="token variable">$sy</span> <span class="token operator">=</span> <span class="token number">30</span><span class="token punctuation">;</span> <span class="token variable">$stamp</span> <span class="token operator">=</span> <span class="token function">imagecreatetruecolor</span><span class="token punctuation">(</span><span class="token variable">$sx</span><span class="token punctuation">,</span> <span class="token variable">$sy</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">imagesavealpha</span><span class="token punctuation">(</span><span class="token variable">$stamp</span><span class="token punctuation">,</span> <span class="token constant boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$white</span> <span class="token operator">=</span> <span class="token function">imagecolorallocate</span><span class="token punctuation">(</span><span class="token variable">$stamp</span><span class="token punctuation">,</span> <span class="token number">255</span><span class="token punctuation">,</span> <span class="token number">255</span><span class="token punctuation">,</span> <span class="token number">255</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">imagefill</span><span class="token punctuation">(</span><span class="token variable">$stamp</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token variable">$white</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$rotate</span> <span class="token operator">=</span> <span class="token function">imagerotate</span><span class="token punctuation">(</span><span class="token variable">$stamp</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">45</span><span class="token punctuation">,</span> <span class="token function">imageColorAllocateAlpha</span><span class="token punctuation">(</span><span class="token variable">$stamp</span><span class="token punctuation">,</span> <span class="token number">150</span><span class="token punctuation">,</span> <span class="token number">150</span><span class="token punctuation">,</span> <span class="token number">150</span><span class="token punctuation">,</span> <span class="token number">127</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">imagecopymerge</span><span class="token punctuation">(</span><span class="token variable">$image</span><span class="token punctuation">,</span> <span class="token variable">$rotate</span><span class="token punctuation">,</span> <span class="token variable">$width</span> <span class="token operator">-</span> <span class="token function">imagesx</span><span class="token punctuation">(</span><span class="token variable">$rotate</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token number">30</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">30</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token function">imagesx</span><span class="token punctuation">(</span><span class="token variable">$rotate</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token function">imagesy</span><span class="token punctuation">(</span><span class="token variable">$rotate</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token number">70</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">imagejpeg</span><span class="token punctuation">(</span><span class="token variable">$image</span><span class="token punctuation">,</span> <span class="token constant">null</span><span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> </code></pre> <p>Was mache ich falsch, wie erreiche ich, dass das Rechteck oben rechts komplett unsichtbar ist (außer natürlich das diagonale Banner)?</p> <p>Mit freundlichen Grüßen, Stefan Einspender</p> https://forum.selfhtml.org/self/2019/aug/19/wasserzeichen-mit-transparenten-hintergrund/1756065#m1756065 Matthias Apsel matthias.apsel@selfhtml.org https://brückentage.info 2019-08-19T16:34:48Z 2019-08-19T16:34:48Z Wasserzeichen mit transparenten Hintergrund <p>Hallo Stefan Einspender,</p> <p>möglicherweise machst du gar nichts falsch, weil der Algorithmus halt so arbeitet wie er arbeitet.</p> <p>Dreh doch versuchsweise mal das Bild, sodass der Schriftzug waagerecht bleibt, füge das Bild zusammen und drehe dann zurück.</p> <p>Bis demnächst<br> Matthias</p> <div class="signature">-- <br> Pantoffeltierchen haben keine Hobbys.<br> ¯\_(ツ)_/¯ </div> https://forum.selfhtml.org/self/2019/aug/19/wasserzeichen-mit-transparenten-hintergrund/1756068#m1756068 Tabellenkalk 2019-08-19T17:06:32Z 2019-08-19T17:06:32Z Wasserzeichen mit transparenten Hintergrund <p>Hallo,</p> <blockquote> <p>wenn ich in drehe, dann ist das erzeugte Rechteck nicht transparent,</p> </blockquote> <p>Hilft der 4. Parameter bei der imagerotate-Funktion?</p> <p>Gruß<br> Kalk</p> https://forum.selfhtml.org/self/2019/aug/19/wasserzeichen-mit-transparenten-hintergrund/1756076#m1756076 Stefan Einspender 2019-08-19T18:21:21Z 2019-08-19T18:21:21Z Wasserzeichen mit transparenten Hintergrund <p>Habe jetzt einen <a href="https://www.php.net/manual/de/function.imagecopymerge.php#92787" rel="nofollow noopener noreferrer">Kommentar auf php.net</a> gefunden, die dort veröffentlichte Funktion löst das Problem. Sollte nicht jemand da noch eine elegantere Variante habe, denke ich damit arbeiten zu können.</p> https://forum.selfhtml.org/self/2019/aug/19/wasserzeichen-mit-transparenten-hintergrund/1756079#m1756079 Christian Kruse https://wwwtech.de/about 2019-08-20T04:58:27Z 2019-08-20T04:58:27Z Wasserzeichen mit transparenten Hintergrund <p>Hallo Stefan,</p> <p>huch, was sehen meine entzündeten Augen? Das ist ja mal eine nette Überraschung.</p> <p>Sieht man dich in nächster Zeit wieder öfter hier?</p> <p>LG,<br> CK</p> <div class="signature">-- <br> <a href="https://wwwtech.de/about" rel="noopener noreferrer">https://wwwtech.de/about</a> </div> https://forum.selfhtml.org/self/2019/aug/19/wasserzeichen-mit-transparenten-hintergrund/1756066#m1756066 Stefan Einspender 2019-08-19T16:54:15Z 2019-08-19T16:54:15Z Wasserzeichen mit transparenten Hintergrund <p>Hallo Matthias,</p> <blockquote> <p>möglicherweise machst du gar nichts falsch, weil der Algorithmus halt so arbeitet wie er arbeitet.</p> <p>Dreh doch versuchsweise mal das Bild, sodass der Schriftzug waagerecht bleibt, füge das Bild zusammen und drehe dann zurück.</p> </blockquote> <p>da ist es erstmal so, wie gewünscht, von daher danke. Allerdings ist es "schon sehr speziell", zumal ich dann auch erstmal austüfteln muss, wie groß das gedrehte Bild ist, ganz am Ende muss ich es ja auch wieder zurechtschneiden. Diese "Lösung" sehe ich wirklich als allerletzte Variante, sollte es überhaupt nicht anders möglich sein. Was ich aber nicht hoffe und auch nicht wirklich glaube, da muss es doch eine ganz normale Lösung geben?</p> <p>Viele Grüße, Stefan</p> <p>PS: Erschwerend kommt noch hinzu, dass ich diese Banderole in allen vier Ecken haben möchte, da werde ich ja mit Drehen überhaupt nicht mehr fertig ;-)</p> https://forum.selfhtml.org/self/2019/aug/19/wasserzeichen-mit-transparenten-hintergrund/1756074#m1756074 Stefan Einspender 2019-08-19T17:35:24Z 2019-08-19T17:35:24Z Wasserzeichen mit transparenten Hintergrund <p>Hallo,</p> <blockquote> <blockquote> <p>wenn ich in drehe, dann ist das erzeugte Rechteck nicht transparent,</p> </blockquote> <p>Hilft der 4. Parameter bei der imagerotate-Funktion?</p> </blockquote> <p>macht bei mir überhaupt keinen Unterschied. Was ich aber eigenartig finde, weil der Parameter sollte ja schon etwas bewirken ... ?!</p> <p>Viele Grüße, Stefan</p>