Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Изменение размера

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
vlados
Отправлено: 13 Июля, 2011 - 13:05:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 391
Дата рег-ции: Май 2011  


Помог: 1 раз(а)

[+][+][+]


Как изменить размер изображения?
Есть функция, именно ее я хочу использовать, но в справке не понял ничего, помогите!
Цитата:
http://php.su/functions/?imagecopyresampled
imagecopyresampled
imagecopyresampled - копирует и изменяет размеры части изображения с пересэмплированием.
Описание
int imagecopyresampled (resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
imagecopyresampled() копирует прямоугольную часть изображения в другое изображение, плавно интерполируя пикселные значения таким образом, что, в частности, уменьшение размера изображения сохранит его чёткость и яркость. Dst_im это изображение назначения, src_im - исходное изображение.Если координаты и ширина и высота источника и назначения различны, будет выполнено соответствующее растягивание и сжатие изображения.Координаты даны относительно верхнего левого угла.Эта функция может использоваться для копирования областей в пределах одного изображения (если dst_im - то же, что и src_im), но если области перекрываются, результат непредсказуем.
 
 Top
Мелкий Супермодератор
Отправлено: 13 Июля, 2011 - 13:07:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)






-----
PostgreSQL DBA
 
 Top
vlados
Отправлено: 13 Июля, 2011 - 13:09:38
Post Id



Посетитель


Покинул форум
Сообщений всего: 391
Дата рег-ции: Май 2011  


Помог: 1 раз(а)

[+][+][+]


Thank you! Подмигивание
 
 Top
illy
Отправлено: 25 Июля, 2011 - 11:00:53
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




photo.php
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <style>
  3. .ai:link,.ai:active ,.ai:visited ,.ai:hover {padding:3;background-color:#2993C1;color:#ffffff;border:0px solid #D0DBE1;cursor:hand;font-weight:none;font-family:arial;font-size:13px;text-decoration:none}
  4. .image_list {color:#000000;font-weight:none;font-family:arial;font-size:13px;text-decoration:none}
  5. </style>
  6.  
  7. <font id=image_list class=image_list></font>
  8. <br>
  9. <form id=sp target=p_a action=p_a.php method=POST enctype="multipart/form-data">
  10. <font class=photo>Фото:</font>
  11. <input id=gfile class=p_i type=File name=ufile size=20>
  12. <input type=hidden name=act value=upf>
  13. &nbsp;&nbsp;<a class=ai href="javascript:with(document.getElementById('sp')){submit()}"> Загрузить </a>
  14. </form>
  15.  
  16. <iframe name=p_a frameborder=0 src=p_a.php width=0 height=0 scrolling=no></iframe>
  17.  
  18.  


p_a.php

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. $w=500; // Ширина уменьшеного фото
  4. $nh=375; // Высота уменьшеного фото
  5. $size=500; // Максимальный вес фото в киллобайтах, если её размеры меньше 500*375. Например, если грузят анимацию gif размером 50*35, но весит она 1мб
  6. $dir='Photo/'; // Папка для сохранения фото (не менять)
  7. $tt='Ваше фото по размерам меньше '.$w.'*'.$nh.', но весит больше '.$size.' кб';
  8.  
  9. $sd=strtolower($_FILES['ufile']['name']);
  10.  
  11. if ($_POST['act']=="upf" && $_FILES['ufile']['name']<>'' && (preg_match("/\.jpg$/",$sd) or preg_match("/\.png$/",$sd) or preg_match("/\.gif$/",$sd))) {
  12.  
  13. $s=GetImageSize($_FILES['ufile']['tmp_name']) or exit;
  14. $na=substr(time(),3,9).substr(sprintf('%.3f',microtime()),2,4);
  15. $t=preg_replace('/(.*)(.{4})$/','\2',$sd);
  16.  
  17. $sf=$_FILES['ufile']['size']/1024;
  18.  
  19. if($s[0]<=$w && $s[1]<=$nh && $sf<$size){
  20. copy($_FILES['ufile']['tmp_name'], $dir.$na.$t);
  21. echo "<script>parent.document.getElementById('image_list').innerHTML+=' $na$t';</script>";
  22. }
  23. if($s[0]<=$w && $s[1]<=$nh && $sf>$size){
  24. echo "<script>alert('".$tt."');</script>";
  25. }
  26.  
  27. $sn=$_FILES['ufile']['tmp_name'];
  28.  
  29. if(preg_match("/\.png$/",$sd)){
  30. }
  31. if(preg_match("/\.jpg$/",$sd)){
  32. }
  33. if(preg_match("/\.gif$/",$sd)){
  34. }
  35. $k=$s[0]/$w;
  36. $h=ceil($s[1]/$k);
  37. if($h>$nh){
  38. $kh=$h/$nh;
  39. $h=$nh;
  40. $w=ceil($w/$kh);
  41. }
  42. imageSaveAlpha($d,true);
  43. imagecopyresampled($d,$p,0,0,0,0,$w,$h,$s[0],$s[1]);
  44. imagejpeg($d,$dir.$na.'.jpg');
  45. echo "<script>parent.document.getElementById('image_list').innerHTML+=' $na.jpg';</script>";
  46. }
  47. else {exit;}
  48. ?>
  49.  


+ папка Photo


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Графика в PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB