|
|
|
| Скрипт принимает имя изображения через GET параметр, и на это изображение накладывается логотип, то есть водяной знак.
С логотипом gif все нормально, а вот с png проблема
<?php
$logofile = "sign.gif";//Логотип
$main_foto = $_GET['file'];//Фото на которое накладываем логотип
$x = ($_GET['x']) ? $_GET['x'] : "10";
$y = ($_GET['y']) ? $_GET['y'] : "10";
$size_logo = getimagesize($logofile);
$size_img = getimagesize($main_foto);
if ($size_logo[2]==2) $logo = imagecreatefromjpeg($logofile);
else if ($size_logo[2]==1) $logo = imagecreatefromgif($logofile);
else if ($size_logo[2]==3) $logo = imagecreatefrompng($logofile);
if ($size_img[2]==2) $img = imagecreatefromjpeg($main_foto);
else if ($size_img[2]==1) $img = imagecreatefromgif($main_foto);
else if ($size_img[2]==3) $img = imagecreatefrompng($main_foto);
imagecopymerge($img, $logo, ($size_img[0]- $size_logo[0] - $x), ($size_img[1]- $size_logo[1] - $y), 0, 0, $size_logo[0], $size_logo[1], 100);
if($_GET['save']=="yes")
{
imagejpeg($img, $main_foto);
}
if ($size_img[2]==2)
{
header("Content-type: image/jpeg");
imagejpeg($img);
}
else if ($size_img[2]==1)
{
header("Content-type: image/gif");
imagegif($img);
}
else if ($size_img[2]==3)
{
header("Content-type: image/png");
imagepng($img);
}
?>
|
В чем может заключаться проблема? | |
|
|
|
|
|
|
|
для: Dimka31
(12.04.2009 в 21:59)
| | попробуй этот код
<?php
$imfile = 'image.gif';
$imext = strrchr($imfile, '.');
switch ($imext) {
case '.png':
$im = imagecreatefrompng($imfile); break;
case '.gif':
if (!function_exists('imagecreatefromgif')) {
exit('GIF not supported!');
}
if (!($im = imagecreatefromgif($imfile))) {
exit('Error to create GIF image!');
}
break;
default:
$im = imagecreatefromjpeg($imfile);
}
$lg = imagecreatefrompng('logo.png');
imagecopy($im, $lg, 55, 185, 0, 0, 120, 29);
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
imagedestroy($lg);
?>
|
| |
|
|
|