ugrás a tartalomhoz

Kép vízjelezés kérdés

tisch.david · 2016. Okt. 11. (K), 09.27
Sziasztok!

Kép vízjelezésben szeretném a segítségeteket kérni, mert a neten talált példák ellenére meggyűlt a bajom a vízjel átlátszóságának kezelésével. IrfanView-val, GIMP-el és webes eszközökkel is próbáltam átlátszó hátterűvé tenni a vízjel gyanánt kapott PNG képet, az eredmény mégis legtöbbször olyan, mintha egyszínű fekete lenne a vízjel kép háttere.
A képátméretező-vízjelező-mentő PHP kódom így néz ki:
  1. //$imageSize - az eredmény kép maximális mérete, képpontban  
  2. $imageFactor = min($imageSize/$imageWidth$imageSize/$imageHeight, 1);  
  3. if (!$newImage = @imagecreatetruecolor($imageWidth*$imageFactor$imageHeight*$imageFactor)) {  
  4.     return false;  
  5. }  
  6. //$image - imagecreatefromstring kimenet  
  7. if (!imagecopyresampled($newImage$image, 0, 0, 0, 0, $imageWidth*$imageFactor$imageHeight*$imageFactor$imageWidth$imageHeight)) {  
  8.     return false;  
  9. }  
  10. //$wmFilePath - a vízjel PNG fájl elérési útja  
  11. if (file_exists($wmFilePath) && ($watermark = @imagecreatefrompng($wmFilePath))) {  
  12.     $wmWidth = imagesx($watermark);  
  13.     $wmHeight = imagesy($watermark);  
  14.     $wmFactor = min($imageWidth*$imageFactor/$wmWidth$imageHeight*$imageFactor / $wmHeight, 1);  
  15.     if (($newWatermark = @imagecreatetruecolor($wmWidth*$wmFactor$wmHeight*$wmFactor)) && imagecopyresampled($newWatermark$watermark, 0, 0, 0, 0, $wmWidth*$wmFactor$wmHeight*$wmFactor$wmWidth$wmHeight)) {  
  16.         if (!imagecopymerge($newImage$newWatermark, ($imageWidth*$imageFactor - $wmWidth*$wmFactor)/2, ($imageHeight*$imageFactor - $wmHeight*$wmFactor)/2, 0, 0, $wmWidth*$wmFactor$wmHeight*$wmFactor, 100)) {  
  17.             return false;  
  18.         }  
  19.     }  
  20. }  
  21. if (!imagejpeg($newImage$newPath, 100)) {  
  22.     return false;  
  23. }  
Ez az eredeti kép, ez a vízjel fájl, ez pedig az eredmény.
A fenti PHP kódomban van vajon valami hiba, vagy a vízjel PNG kép átlátszósága nem megfelelő?
Előre is köszönöm a segítséget!
Üdvözlettel:
Dávid
 
1

Bejegyzés

Poetro · 2016. Okt. 11. (K), 11.12
Korábban írtam hasonlóról blog bejegyzést pár éve.
2

Köszi! Átolvasom.

tisch.david · 2016. Okt. 11. (K), 11.45
Köszi! Átolvasom.
4

Köszi! Ez volt a megoldás.

tisch.david · 2016. Okt. 11. (K), 15.39
Köszi! Ez volt a megoldás.
3

transzparens png kellene...

_subi_ · 2016. Okt. 11. (K), 14.54
Mielőtt nagy lendülettel a kód átírásába vetnéd magad, szerintem érdemes lenne ellenőrizned a vízjel képet, mert az (abban a formában, ahogy letölthető) nem transzparens png.
5

Szerintem transzparens,

tisch.david · 2016. Okt. 11. (K), 15.40
Szerintem transzparens, legalább is GIMP-ben és IrfanView-ban annak látom. A kódátalakítás volt a megoldás, úgy, ahogy Poetro javasolta. Köszi egyébként, hogy szántál rá időt!
6

transzparens, ha a "Download" gombot használom

_subi_ · 2016. Okt. 12. (Sze), 02.29
Valamiért nem transzparensen jelenik meg alapból, és ha csak simán a képen nyomok egy "Save Image As..."-t, akkor nem ugyanaz jön le, mintha a "Download" gombot használom, amit a Dropbox ad. Szóval úgyis mondhatjuk, hogy benéztem.

Egyébként meg örülök, hogy működik a kódod!