Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Создание уменьшенной копии JPG картинки... 
:(
    Опции темы
Mal Hack
Дата 19.2.2004, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Народ, подскажите, второй день голову ломаю - ничего в голову не приходит. Есть папка с файлами JPG. Надо для галлереи сделать предпросмотр.
Отсюда вопрос. Чтобы не делать вручную маленькие картинки, можно ли с помощью PHP из уже имеющегося файла сделать его уменьшенную копию.
Если да, то как...
ЗЫ: Ранее с GD не работал...
PM ICQ   Вверх
Master
Дата 19.2.2004, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: нет
Всего: 10



Код
<?php

function image_chop($file) {
$path_real=$file;
$src_img=ImageCreateFromJpeg("$path_real");

$src_width=ImagesX($src_img);
$src_height=ImagesY($src_img);

$dest_height="390";
$quality="60";

$dest_width=($dest_height/$src_height) * $src_width;

$dest_img=ImageCreateTrueColor($dest_width, $dest_height);
ImageCopyResampled($dest_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $src_width, $src_height);

ImageJpeg($dest_img, $file, $quality);
ImageDestroy($dest_img);
}


function list_dir($d) {
$dir = opendir($d);
while ((($file = readdir($dir))!==false)) {
 if ((filetype($d.$file) == "file") && (strstr($file,".jpg"))) {
  image_chop($d.$file);
  echo $file."<BR>";
 } elseif ((filetype($d.$file) == "dir") && ($file !== ".") && ($file !== "..") && (is_dir($d.$file))) {
  echo "DIR - ".$file."<BR>";
  list_dir($d.$file."/");
 }
}
}


list_dir($DOCUMENT_ROOT."/tmp/");

?>


Я делал так. находит в каталоге /tmp/ файлы в имени которых встречается .jpg и делает их 390 по высоте с пропорцианальной шириной. и качеством 60.


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Mal Hack
Дата 19.2.2004, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Master, спасибо, большое, более менее понял.
А вот подскажи, плиз, как не перезаписать тот же файл, а либо записать новый с именем *_small.jpg и как просто послать уменьшенную копию браузеру, без сохранения..
PM ICQ   Вверх
__vi
Дата 25.2.2004, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 301
Регистрация: 21.1.2004

Репутация: нет
Всего: -1



ImageMagic если сервак на нормальной оси.
PM MAIL   Вверх
Raptus Melanholicus
Дата 25.2.2004, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 6.1.2004
Где: Kiev::Ua

Репутация: нет
Всего: нет



__vi Image::Magic? Ты ничего не перепутал?.. Это ж php а не perl..

Это сообщение отредактировал(а) Raptus Melanholicus - 25.2.2004, 16:44
PM MAIL WWW ICQ   Вверх
papex
Дата 22.3.2004, 04:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 18.3.2004

Репутация: нет
Всего: нет



Не работает.
Это скрип я и сам написал. Но он не работает как надо.

Это сообщение отредактировал(а) papex - 22.3.2004, 04:26
PM MAIL   Вверх
LordZeus
Дата 28.7.2009, 13:02 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.5.2008

Репутация: нет
Всего: нет



Master,  Спасибо...помогло... немного конечно перебрал твой код, но все таки получилось то, что хотел. В основном причиной неудач было использование imagecopyresized. Надо сразу было использовать ImageCopyResampled...

все приходит с опытом =)  smile 
PM MAIL   Вверх
skyboy
Дата 28.7.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



LordZeus, 5 лет назад в GD вполне могло не быть imagecopyresampled.
кроме того, бинарные тулзы из пакеты imagemagick будут на порядок быстрее GD. конечно, если ты на своем хостинге имеешь право запускать бинарники.
PM MAIL   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0726 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.