imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 50);
Staat die stukje ook in je script?
Zet dan op het laatst de 100 op 50
Link gekopieerd
it works! Kei goed!
Thnx!
Maar weet je toevallig ook hoe ik de witte achtergrond helemaal transparant krijg zodat je deze niet meer ziet?
Link gekopieerd
Je moet de achtergrond van de afbeelding transparant laten en dan opslaan als png.
Dus als jij je afbeelding opent in photoshop selecteer dan met je rechtermuis knop je eraser, Kies dan "Magic eraser tool".
Klik dan op de achtergrond zodat die verdwijnt. Sla het dan op als png.
Link gekopieerd
ok dat heb ik gedaan maar resulteerd nog hetzelfde
Link gekopieerd
heb inmiddels nog vanalles geprobeerd, maar het lukt maar niet.
blijf een wit vlak houden. Iemand een idee?
Link gekopieerd
In photoshop heb je dat grijs/wit geblokte 'grid' als achtergrond in je afbeelding?
Dat betekend dat ie doorzichtig is, die opslaan als png, heb je dat in iedergeval goed.
en dan icm bovenstaand script, werkt nog steeds niet?
Link gekopieerd
neej, heb het advies van van Ferdi R opgevolgd met photoshop. met de eraser. Dan Save as Web png-24 en transparancy aangevinkt.
script:
if(isset($_POST['submit']) && $_FILES['image']) {
echo $_FILES['image']['name'] . '<br />';
echo $_FILES['image']['size'] . '<br />';
$path = '../../test/';
if (is_uploaded_file($_FILES['image']['tmp_name'])){
move_uploaded_file($_FILES['image']['tmp_name'], $path . $_FILES['image']['name']);
}
$watermerkUrl = '../../templates/watermerkPromtech.png';
$watermerk = imagecreatefrompng($watermerkUrl);
imagealphablending($watermerk, true);
$watermerk_width = imagesx($watermerk);
$watermerk_height = imagesy($watermerk);
imagecreatetruecolor($watermerk_width, $watermerk_height);
list($breedte, $hoogte, $image_type) = getimagesize($path . $_FILES['image']['name']);
$image_ratio = $hoogte / $breedte;
if ($image_ratio > 1) {
$rs_breedte = '400';
$rs_hoogte = $rs_breedte * $image_ratio;
} else {
$rs_breedte = '400';
$rs_hoogte = $rs_breedte / $image_ratio;
}
$resize = imagecreatetruecolor($rs_breedte, $rs_hoogte);
$source = imagecreatefromjpeg($path . $_FILES['image']['name']);
imagecopyresized($resize, $source, 0, 0, 0, 0, $rs_breedte, $rs_hoogte, $breedte, $hoogte);
imagejpeg($resize, $path . $_FILES['image']['name']);
$image = imagecreatefromjpeg($path . $_FILES['image']['name']);
$size = getimagesize($path . $_FILES['image']['name']);
$xas = $size[0] - $watermerk_width - 5;
$yas = 5;
imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 50);
imagejpeg($image, $path . $_FILES['image']['name']);
imagedestroy($image);
imagedestroy($watermerk);
echo '<img src="' . $path . $_FILES['image']['name'] . '">';
En het witte vlak blijft.
Idee?
Link gekopieerd
Hmm, ik zie dat je hier functies voor jpeg gebruikt?
jpeg kent geen transparantie...
Link gekopieerd
dat geeft niet als het gemerged wordt.
Het is de bedoeling uiteindelijk dat het toch een .jpg wordt.
In ieder geval moet je een afbeelding in PS maken die transparant is. je moet dat grid tevoor schijn halen van wit/grijze blokken. Hier teken je je watermerk in. En dit sla je uiteindelijk op.
Je krijgt dan een doorzichtige afbeelding met een logo oid. ( je watermerk). Deze kun je dan gebruiken om in je afbeeldingen te mergen.
Link gekopieerd
dat heb ik gedaan merijn, maar dit werkt niet.
Link gekopieerd