|
|
|
| Здравствуйте!
Во время сохранения фото делаеться автоматом копия фото меньшего размера
Уже не помню в каком форуме или теме я спрашивал как сделать такое "чудо"
- мне ответили, что все копии уменшенных размеров фото нужно делать вручную.
Тут же натолкнулся на известный сайт vkontakte.ru/photos.php
Там копии фото с уменшенных размеров создаются автоматом
Как это сделать? скажите пожалуйста
Спасибо зарание | |
|
|
|
|
|
|
|
для: 1prom
(28.03.2008 в 01:20)
| | Я вот так делал. В функцию отправляем имя файла, функция корректирует пропорциональность и сохраняет по указанным размерам. 500X500 и 70X70
<?
function correct_image($fname){
if(!file_exists('../photo/'.$fname))
return false;
copy('../photo/'.$fname,'../tmp/'.$fname);
unlink('../photo/'.$fname);
$name = explode('.',$fname);
$im=imagecreatefromjpeg("../tmp/".$fname);
$w = imageSX($im);
$h = imageSY($im);
if($w<$h){
$new_w = $h/500;
$new_w = round($w/$new_w);
$new = imagecreatetruecolor($new_w, 500);
imagecopyresampled($new, $im,0,0,0,0,$new_w,500,$w,$h);
}
else
{
$new_h = $w/500;
$new_h = round($h/$new_h);
$new = imagecreatetruecolor(500,$new_h);
imagecopyresampled($new, $im,0,0,0,0,500,$new_h,$w,$h);
}
imagejpeg($new,'../photo/'.$name[0].'.jpg');
imageDestroy($new);
if($w<$h){
$new_w = $h/70;
$new_w = round($w/$new_w);
$new = imagecreatetruecolor($new_w, 70);
imagecopyresampled($new, $im,0,0,0,0,$new_w,70,$w,$h);
}
else
{
$new_h = $w/70;
$new_h = round($h/$new_h);
$new = imagecreatetruecolor(70,$new_h);
imagecopyresampled($new, $im,0,0,0,0,70,$new_h,$w,$h);
}
imagejpeg($new,'../photo/'.$name[0].'_s.jpg');
imageDestroy($new);
imageDestroy($im);
unlink('../tmp/'.$fname);
}?>
|
| |
|
|
|
|
|
|
|
для: ONYX
(28.03.2008 в 09:12)
| | Код этот прекрасно работает с фото JPG, а как быть с gif, bmp, img? | |
|
|
|
|
|
|
|
для: 1prom
(27.04.2008 в 18:16)
| | Название функций imagecreatefromjpeg, imagejpeg Вам ни о чем не говорит? | |
|
|
|
|
|
|
|
для: ddhvvn
(27.04.2008 в 20:00)
| | Бывают ли функции для изменения интересуемых меня файлов? | |
|
|
|
|
|
|
|
для: 1prom
(27.04.2008 в 23:31)
| | ДА!!!
Только вместо BMP используйте WBMP | |
|
|
|
|
|
|
|
для: ddhvvn
(28.04.2008 в 13:52)
| | Когда я вручную делал копии большого и маленького изображения с помощью MS picture manager - я нажимал на кнопочку автоподстройка и улутшались цвета рисунка, делалось изображение более ярким, если оно было снято плохо и т. п.
Кто знает можно ли такую "автоподстройку" делать с помощью кода (функции)? | |
|
|
|
|
|
|
|
для: 1prom
(04.05.2008 в 17:50)
| | В принципе можно, если функции для работы с яркостью контрастом и т.д., но предложенная выше функция создается для работы с превью, т.е изображениями очень аленького размера, сделанные для ознакомления. Работа подобных функций очень сильно загружает оперативную память сервера, поэтому десять рз подумайте, действительно ли вам это нужно. | |
|
|
|
|
|
|
|
для: ddhvvn
(28.04.2008 в 13:52)
| | > Только вместо BMP используйте WBMP
WBMP - это другой формат. | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 18:16)
| | Wbmp тоже точечный рисунок, не использует сжатия, так что разницы нет. | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 21:43)
| | WBMP - формат, созданный консорциумом WAP FORUM (www.wapforum.org).
> так что разницы нет
Это чем-то подтверждено или пустословишь?.. | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 21:59)
| | Подтверждено тем, что об формата идут без сжатия и обра изображения - точечные. Возможно и mime у них одинаковый, наверняка не скажу. | |
|
|
|
|
|
|
|
для: devil943
(04.05.2008 в 22:03)
| | MIME WBMP - image/vnd.wap.wbmp. BMP - image/bmp.
> что об формата идут без сжатия и обра изображения - точечные
И это говорит о том, что эти два формата - одно и то же? | |
|
|
|
|
|
|
|
для: Atheist
(04.05.2008 в 22:07)
| | Ладно вы меня убедили. | |
|
|
|
|
|
|
|
для: ONYX
(28.03.2008 в 09:12)
| | А для работы кода на localhost нужны какие-то библиотеки? Если да: где взять, как поставить? | |
|
|
|
|
|
|
|
для: Maxam
(02.09.2008 в 15:57)
| | Нужна билиотека php_gd2.dll и подключение ее в php.ini. | |
|
|
|