northwest
(northwest)
2 Październik 2011 18:27
#1
Witam serdecznie,
mam taki kod:
ob_start();
gd_createf($_GET['f']);
function gd_createf($adres) {
$watermark="logo.png";
header("Content-Type: image/jpeg");
$transparency = 30; // przezroczystosc znaku wodnego
$source_photo = stripslashes($adres);
$photo = imagecreatefromjpeg($source_photo);
$watermark = imagecreatefrompng($watermark);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$size = getimagesize($source_photo);
$dest_x = ($size[0] - $watermark_width);
$dest_y = ($size[1] - $watermark_height);
//imagecopymerge($photo, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $transparency);
imagecopyresampled($photo, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);
imagejpeg($photo);
imagedestroy($photo);
imagedestroy($watermark);
}
ob_end();
Plik logo.png jest przeźroczystym logiem. Po nałożeniu na zdjęcie zamiast znaku wodnego (obrazka rozmytego) logo jest bardzo wyraźne, bez efektu przeźroczystości…
Wie ktoś może dlaczego?
Z góry dziękuje za pomoc
Northwest
drobok
(Drobok)
2 Październik 2011 18:36
#2
Bo wysyłasz nagłówek jpeg, tak samo funkcja jest do jpeg a on nie jest przeźroczysty
northwest
(northwest)
2 Październik 2011 18:54
#3
plik wejściowy to jpg, logo jest nakładane w PNG i plik wyjściowy ma być w png… to nie zadziała w ten sposób?
– Dodane 03.10.2011 (Pn) 12:06 –
próbowałem z :
<?php
ob_start();
gd_createf($_GET['f']);
function gd_createf($adres) {
$watermark="logo.png";
header("Content-Type: image/jpeg");
$transparency = 70; // przezroczystosc znaku wodnego
$source_photo = stripslashes($adres);
$photo = imagecreatefromjpeg($source_photo);
$watermark = imagecreatefrompng($watermark);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$size = getimagesize($source_photo);
$dest_x = ($size[0] - $watermark_width);
$dest_y = ($size[1] - $watermark_height);
//imagecopymerge($photo, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $transparency);
imagecopyresampled($photo, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $watermark_width, $watermark_height);
imagejpeg($photo);
imagedestroy($photo);
imagedestroy($watermark);
}
ob_end();
?>
i też nie działa