[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: При создании превьюшки не загружает большую картин
Chudik
Здрасти. При загрузке фото на сервер накладывается логотип сайта на каждое фото. С превьюшками проблем нет создает маленькую картинку + накладывает на нее логотип, но в тоже время я хочу чтобы ужимало и большие фото если они больше 750 пикселей, пользуюсь той же функцией что и для уменьшения превьюшек, но не идет никак, не хочет делать большую картинку вообще.

Я с картинками работаю очень слвбо, только начал учить, может это так не делается, кто знает расскажите.


PHP
<?php

  
function resizeimg($filename$smallimage$w$h)
  {
 
    
$filelogo="logo_small.png";
    
$filelogo "../img/".$filelogo;
    
$filename "../picture/data/photo/".$filename;
    
$smallimage "../picture/data/smal/".$smallimage;
    
$ratio $w/$h;
    
$size_img getimagesize($filename);
 
    if ((
$size_img[0]<$w) && ($size_img[1]<$h)) return true;
    
$src_ratio=$size_img[0]/$size_img[1];

      if (
$ratio<$src_ratio)
    {
      
$h $w/$src_ratio;
    }
    else
    {
      
$w $h*$src_ratio;
    }

    
$dest_img imagecreatetruecolor($w$h);
    
$white imagecolorallocate($dest_img255255255);
    if (
$size_img[2]==2)  $src_img imagecreatefromjpeg($filename);
    else if (
$size_img[2]==1$src_img imagecreatefromgif($filename);
    else if (
$size_img[2]==3$src_img imagecreatefrompng($filename);


imagealphablending($src_imgtrue);
imagecopyresampled($dest_img$src_img0000$w$h$size_img[0], $size_img[1]);

$logoimage imagecreatefrompng($filelogo);

$logow imagesx($logoimage);

$logoh imagesy($logoimage);

 
$w4=$w-$logow;
  
$h4=$h-$logoh;
imagecopy($dest_img$logoimage$w4$h400$logow$logoh);


    if (
$size_img[2]==2)  imagejpeg($dest_img$smallimage);
    else if (
$size_img[2]==1imagegif($dest_img$smallimage);
    else if (
$size_img[2]==3imagepng($dest_img$smallimage);

    
imagedestroy($dest_img);
    
imagedestroy($src_img);
    return 
true;
  }

  function 
resizeimg2($filename$smallimage2$w$h)
  {
 
    
$filelogo="logo_small.png";
    
$filelogo "../img/".$filelogo;
    
$filename "../picture/data/photo/".$filename;
    
$smallimage2 "../picture/data/big/".$smallimage2;
    
$ratio $w/$h;
    
$size_img getimagesize($filename);
 
    if ((
$size_img[0]<$w) && ($size_img[1]<$h)) return true;
    
$src_ratio=$size_img[0]/$size_img[1];

      if (
$ratio<$src_ratio)
    {
      
$h $w/$src_ratio;
    }
    else
    {
      
$w $h*$src_ratio;
    }

    
$dest_img imagecreatetruecolor($w$h);
    
$white imagecolorallocate($dest_img255255255);
    if (
$size_img[2]==2)  $src_img imagecreatefromjpeg($filename);
    else if (
$size_img[2]==1$src_img imagecreatefromgif($filename);
    else if (
$size_img[2]==3$src_img imagecreatefrompng($filename);


imagealphablending($src_imgtrue);
imagecopyresampled($dest_img$src_img0000$w$h$size_img[0], $size_img[1]);

$logoimage imagecreatefrompng($filelogo);

$logow imagesx($logoimage);

$logoh imagesy($logoimage);

 
$w4=$w-$logow;
  
$h4=$h-$logoh;
imagecopy($dest_img$logoimage$w4$h400$logow$logoh);


    if (
$size_img[2]==2)  imagejpeg($dest_img$smallimage2);
    else if (
$size_img[2]==1imagegif($dest_img$smallimage2);
    else if (
$size_img[2]==3imagepng($dest_img$smallimage2);

    
imagedestroy($dest_img);
    
imagedestroy($src_img);
    return 
true;
  }


вот вроде так все ок делает при вызове

PHP
if(!resizeimg($image$smallimage150150)) 
//это превью

//просто дублирую функцию с другими значениями размера

if(!resizeimg2($image$smallimage2450450))


изменения в функция только в пути файти и в имени но не работает.

Надеюсь на помощь





Спустя 1 час, 36 минут, 16 секунд (19.02.2009 - 19:38) Chudik написал(а):
Спасибо, уже разобрался...


_____________
Пошёл старик к синему морю, стал он кликать золотую рыбку. «Error 404», - откликнулась золотая рыбка.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.