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:
//$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.
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!