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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Уменьшенная копия изображения

Сообщения:  [1-6] 

 
 автор: cheops   (26.07.2006 в 21:52)   письмо автору
 
   для: Равечка   (26.07.2006 в 14:27)
 

Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=145.

   
 
 автор: m@rchello   (26.07.2006 в 17:49)   письмо автору
 
   для: elenaki   (26.07.2006 в 16:44)
 

вот такой код

<?
function resizeimg($filename1$smallimage$w$h)
  {
    
$ratio $w/$h;
    
$size_img getimagesize($filename1);
    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($filename1);
    else if (
$size_img[2]==1$src_img imagecreatefromgif($filename1);
    else if (
$size_img[2]==3$src_img imagecreatefrompng($filename1);
    
imagecopyresampled($dest_img$src_img0000$w$h$size_img[0], $size_img[1]);
    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;
  }
?>

   
 
 автор: elenaki   (26.07.2006 в 16:44)   письмо автору
 
   для: Равечка   (26.07.2006 в 16:11)
 

проверьте этот на "убогость". у меня работает, не жалуюсь.

<?  /// ...puti k papkam ystanovleni vishe... pole file - pod imenem file2

 /// proverka na tip faila

if ($file2 == "none" || $file2 == "")      {echo "You didn't choose file!"; exit;} // ne vibran
if ($file2_size $max_size)             {echo "$file2_name is too big."; exit;} // bol'shoy
if (($file2 != "none" || $file2 != "") && (($file2_type != "image/pjpeg") && ($file2_type != "image/gif"))) 
                                        {echo 
"$file2_name ($file2_type) has invalid type."; exit;} // ne tot tip
else { 
//=============================================
function date_to_timestamp($dt) {   
    
$yr=strval(substr($dt,6,4));   
    
$mo=strval(substr($dt,3,2));   
    
$da=strval(substr($dt,0,2));   
    
$hr=strval(substr($dt,0,0));   
    
$mi=strval(substr($dt,0,0));   
    
$se=strval(substr($dt,0,0));   
    return 
mktime($hr,$mi,$se,$mo,$da,$yr);   
}
if(
ereg("left"$kefal) == True) { $menu "left"$kefal substr($kefal4);}

    
$sql "INSERT INTO photos VALUES (
    Null, 
    '"
.$lang."',
    "
.$kefal.",
    '"
.$photo_order."',
    '"
.$file2_name."',
    '"
.$phot_descr."',
    "
.date_to_timestamp($date_create).",
    "
.date_to_timestamp($exp_date).",
    '',
    '"
.$active."')";
   
// run SQL 
   
   
  
$result mysql_query($sql) or die(mysql_error()); 
  
 }
  
  if (!
$result) {
  
// esli ne zanesli v bazu
  
print "<script>window.location.href='add_photos.php?message=Cannot add photo!'</script>";}
    
  else {
  
// esli zanesli,gruzim file
  //copy ("$file2_tmp_name", "$path/$file2_name");
  //////// resize and create thimbs
  
$size=getimagesize($_FILES['file2']['tmp_name']);
  if (
$size[0]>=$size[1])
    {
    
$size0=250;
    
$size1=250/$size[0]*$size[1];
    
$size2=90;
    
$size3=90/$size[0]*$size[1];
    }
    else
    {
    
$size1=250;
    
$size0=250/$size[1]*$size[0];
    
$size3=90;
    
$size2=90/$size[1]*$size[0];
    }
            
    
$src_img=imagecreatefromjpeg($_FILES['file2']['tmp_name']); 
    
$dst_img=imagecreatetruecolor($size0$size1); 
    
$dst_img1=imagecreatetruecolor($size2$size3); 
    
imagecopyresampled($dst_img$src_img0000$size0$size1$size[0], $size[1]);
    
imagecopyresampled($dst_img1$src_img0000$size2$size3$size[0], $size[1]);
    
imagejpeg($dst_img"../photos/".$_FILES['file2']['name'], 90); 
    
imagejpeg($dst_img1"../photos/s_".$_FILES['file2']['name'], 99); 
    
imagedestroy($src_img); 
    
imagedestroy($dst_img);
    
imagedestroy($dst_img1);
    
  
move_uploaded_file($_FILES['file2']['tmp_name'],"$path/$file2_name"); 
  
  } 
?>

   
 
 автор: Равечка   (26.07.2006 в 16:11)   письмо автору
 
   для: valenok   (26.07.2006 в 15:03)
 

Извените конечно но скрипт убогий, ибо
1. его надо исправлять чтобы он заработал
2. он изнасиловал все цвета
3. я просила "умный" скрипт, этот же делает по глупому, ибо изнасиловал пропорции рисунка
4. лучше делать копии чем обрабатывать на лету

   
 
 автор: valenok   (26.07.2006 в 15:03)   письмо автору
 
   для: Равечка   (26.07.2006 в 14:27)
 

называется превьюшки
// Это чтоб мне потом не говорили что человек прочто не знает что искать.

http://www.web-faq.ru/articles/showarticles_192.html

   
 
 автор: Равечка   (26.07.2006 в 14:27)   письмо автору
 
 

Доброго времени суток не могли бы вы мне подсказать, как сделать чтобы....

Пользватель заливает картинку на сервер, а для нее создается уменьшеная копия. причем копия уменьшается "по умному" ну арушая пропорций картнки в целом.
например есть test.jpg, копия не должна быть больше 150х150 и называться примерно test_th.jpg

Заранее благодарю за помощь.

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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