Вопр. наверн. к админу. Не по химии. А мжт ещё кто подскажет

здесь можно обсудить кошечек и ёжиков
Ответить
Cherep
Сообщения: 23438
Зарегистрирован: Чт окт 30, 2003 9:22 am

Вопр. наверн. к админу. Не по химии. А мжт ещё кто подскажет

Сообщение Cherep » Пн июл 26, 2004 6:24 am

Уважаемый Serge,
Доброго времени суток!
Вы вроде бы как тут по php главный. :wink:
У меня после лазанья по постингам на php.net возник такой вопросик.
С помощью php превьюшку картинки (то бишь тамбнэйл) для небольшой галереи можно создать по кр мере двумя способами.
Способ первый
просто вычислить высоту и ширину превьюшки тупым делением на некий фактор (естественно фактор ещё надо вычислить :-) )
потом в тэг image просто вставить новые уменьшеные значения в виде размеров
ну в виде переменных... то бишь картинку в размере уменьшит браузер
Способ второй
создать новый графический файл с уменьшиными размерами
при этом нужно использовать хитрую команду которая не во всех версиях пхп есть
потом ещё "пару" команд ну или функций - приведу лишь примерный порядок
imageCreateFromJPEG, getImageSize, ImageCreate (ImageCreateTrueColour), ImageCopyresized, header, imagejpeg, imagedestroy
Так этот способ по-моему сложнее. Или я не прав?

В итоге главный вопрос: какой из двух вариантов скажем так профессиональнее?

Прошу прощения если спросил не в тему,
но заранее благодарен за ответ

Аватара пользователя
Serge
автор
Сообщения: 5023
Зарегистрирован: Ср мар 05, 2003 12:57 pm
Контактная информация:

Сообщение Serge » Пн июл 26, 2004 11:46 am

в общем виде последовательность действий, выполняемых моими скриптами для создания фотогалереи, такова:
$ims = getimagesize("$userfile_name");
$im = ImageCreateFromJPEG ("$userfile_name");
if ($ims[0]>$sn){
$ks = $sn/$ims[0];
$aw = $ks*$ims[0];
$ah = $ims[1]*$ks;
$aw = round($aw); $ah = round($ah);
$im2 = imagecreatetruecolor($aw,$ah);
imagecopyresized($im2 , $im , 1,1,1,1,$aw,$ah,imageSX($im),imageSY($im));
$im=$im2;
$imcol = imagecolorallocate($im, 255, 255, 255);
imagejpeg ($im, $userfile_name, 75);
chmod ($userfile_name, 0777);
imageDestroy($im);
@imageDestroy($im2);
}
although we appreciate diversity in our company being conservative we cannot accept any unexpected efforts to reach one's cbrtkm

Аватара пользователя
ИСН
Робин Гуд
Сообщения: 8532
Зарегистрирован: Пт окт 10, 2003 5:32 pm
Контактная информация:

Сообщение ИСН » Пн июл 26, 2004 6:55 pm

Первый способ - это вообще не способ, для него никакого php не надо, хватит и JS. Суть делания превьюшки ведь не в том, чтобы занимать мало места на экране, а в том, чтобы грузилось быстрее. Так что делать её надо на серверной стороне, иначе вообще нафиг не впилось делать.
Кто такой Джон Галт?

Cherep
Сообщения: 23438
Зарегистрирован: Чт окт 30, 2003 9:22 am

Сообщение Cherep » Пн июл 26, 2004 11:14 pm

Ребята, огромное спасибо!!!
чтобы занимать мало места на экране, а в том, чтобы грузилось быстрее.
Млин, если пол-дня в незнакомых "дебрях" языка разбираться, до таких простых мыслей так и не допрёшь :!:
А я на LANе сижу поэтому мне и незаметно было. Хотя там "большие" картинки не такие большие.

Ответить

Вернуться в «лицом к лицу»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 20 гостей