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:
//$imageSize - az eredmény kép maximális mérete, képpontban
$imageFactor = min($imageSize/$imageWidth, $imageSize/$imageHeight, 1);
if (!$newImage = @imagecreatetruecolor($imageWidth*$imageFactor, $imageHeight*$imageFactor)) {
	return false;
}
//$image - imagecreatefromstring kimenet
if (!imagecopyresampled($newImage, $image, 0, 0, 0, 0, $imageWidth*$imageFactor, $imageHeight*$imageFactor, $imageWidth, $imageHeight)) {
	return false;
}
//$wmFilePath - a vízjel PNG fájl elérési útja
if (file_exists($wmFilePath) && ($watermark = @imagecreatefrompng($wmFilePath))) {
	$wmWidth = imagesx($watermark);
	$wmHeight = imagesy($watermark);
	$wmFactor = min($imageWidth*$imageFactor/$wmWidth, $imageHeight*$imageFactor / $wmHeight, 1);
	if (($newWatermark = @imagecreatetruecolor($wmWidth*$wmFactor, $wmHeight*$wmFactor)) && imagecopyresampled($newWatermark, $watermark, 0, 0, 0, 0, $wmWidth*$wmFactor, $wmHeight*$wmFactor, $wmWidth, $wmHeight)) {
		if (!imagecopymerge($newImage, $newWatermark, ($imageWidth*$imageFactor - $wmWidth*$wmFactor)/2, ($imageHeight*$imageFactor - $wmHeight*$wmFactor)/2, 0, 0, $wmWidth*$wmFactor, $wmHeight*$wmFactor, 100)) {
			return false;
		}
	}
}
if (!imagejpeg($newImage, $newPath, 100)) {
	return false;
}
Ez az eredeti kép, ez a vízjel fájl, ez pedig az eredmény.