Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Водяной знак PNG
 
 автор: Dimka31   (12.04.2009 в 21:59)   письмо автору
 
 

Скрипт принимает имя изображения через 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), 00$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);
    }    
?>


В чем может заключаться проблема?

  Ответить  
 
 автор: genx   (21.09.2010 в 22:19)   письмо автору
 
   для: 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$lg551850012029); 
header('Content-Type: image/jpeg'); 
imagejpeg($im); 
imagedestroy($im); 
imagedestroy($lg); 
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования