ugrás a tartalomhoz

Archívum - Okt 11, 2016

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.