Problem z przeźroczystością obrazka


(northwest) #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 :slight_smile:

Northwest


(Drobok) #2

Bo wysyłasz nagłówek jpeg, tak samo funkcja jest do jpeg a on nie jest przeźroczysty :slight_smile:


(northwest) #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 :frowning: