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

Форум PHP

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

 

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

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

тема: Создание уменьшенных копий

Сообщения:  [1-10]    [11-20]  [21-27] 

 
 автор: cheops   (27.01.2006 в 21:54)   письмо автору
 
   для: babilonian   (27.01.2006 в 20:54)
 

Так не получится, вывод нескольких изображений на одной странице описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5173

PS Под новый вопрос лучше заводить новую тему, сославшись на старую.

   
 
 автор: babilonian   (27.01.2006 в 20:54)   письмо автору
 
   для: Niemand   (16.06.2005 в 00:31)
 

Немного модифицировал этот скрипт

    if ($size_img[2]==2)
     {
     header('Content-type: image/jpeg');
     imagejpeg($dest_img);
     }
    else if ($size_img[2]==1)
     {
     header('Content-type: image/gif');
     imagegif($dest_img);
     }
    else if ($size_img[2]==3)
     {
     header('Content-type: image/png');
     imagepng($dest_img);
     }

То есть по идее он должен вывести картинку не сохраняя ее в файл, и забыть про нее. Но и тут идут глюки:
Warning: Cannot modify header information - headers already sent by (output started at там-то\index.php:75) in тут-то\imgresize.php on line 51
GIF

С хедерами вроде бы понятно, должны раньше отсылаться, но как сделать чтобы картинка выходила в моем дизайне и не такими крокозяблами? Никак не могу разобраться(

[поправлено модератором]

   
 
 автор: Akira   (21.11.2005 в 00:52)   письмо автору
 
   для: glsv (Дизайнер)   (16.01.2005 в 10:44)
 


imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]); // сохраняем уменьшенную копию в файл 
        if ($size_img[2]==2)  imagejpeg($dest_img, $smallimage);
        else if ($size_img[2]==1) imagegif($dest_img, $smallimage);
        else if ($size_img[2]==3) imagepng($dest_img, $smallimage);

Пишет что нету досутпа (unable access) к картинке =\ Не могу понять почему. На папку стоит 777 =\ И указывает на эти 4 строки, смотря какой файл. не могу понять, что на хостинге не так.

   
 
 автор: Niemand   (16.06.2005 в 00:31)   письмо автору
 
   для: glsv (Дизайнер)   (01.02.2005 в 23:31)
 

А можно если картинка горизонтальная и маштабируется по макс. значениям, допустим, 100х100, но высота в итоге получается меньше 100, как-нибуть поместить картинку по середине квадратика 100х100 и залить недостающие поля белым цветом? и на оборот и вертикальмыми...

   
 
 автор: glsv (Дизайнер)   (01.02.2005 в 23:31)   письмо автору
 
   для: GRain   (01.02.2005 в 14:45)
 

В приведенном мною коде масштабирование, на самом деле, осуществляется по пропорциям исходного изображения.
Параметры $w=133 и $h=100 являются ограничителями максимальных размеров уменьшенной копии по ширине и высоте. Т.е. при масштабировании учитывается только один из этих параметров, а второй размер высчитывается автоматически исходя из пропорций исходного изображения.

Хотя, в моем примере тоже правильней и корректней было бы указать равные ограничители по ширине и высоте. Например $w=133 и $h=133.

   
 
 автор: GRain   (01.02.2005 в 14:45)   письмо автору
 
   для: glsv (Дизайнер)   (03.01.2005 в 21:51)
 

Маленькое дополнение, которое позволит маштабировать относительно того как расрасположена фотография, то есть горизонтально или вертикально...
if ($size_img[0]<$size_img[1]){$w=100; $h=133; }
    else {$w=133; $h=100;}

этот код необходимо разместить после строки
$size_img = getimagesize($filename);

и стороку
$ratio = $w/$h;

разместить под предлагаемым кодом.
вызов функции естественно изменяется
resizeimg($bigimage, $smallimage);

и инициализация функции тоже
function resizeimg($filename, $smallimage){...}

Удобно тем, что в основном картинки изменяют для предварительного просмотра, скажем фотоальбома на сайте, и если пропорция горизонтальных превьюшек будет отличаться от вертикальных, визуально будут выглядеть разных размеров, что портит общий вид страницы...

   
 
 автор: glsv (Дизайнер)   (16.01.2005 в 10:44)   письмо автору
 
   для: grigstar   (16.01.2005 в 07:13)
 

>Но библиотека GD, которая там стоит уже не поддерживает функцию CreateImageFromGif.
imagecreatefromgif() имеется ввиду?

Хм.. как странно. Ранее не подерживалась функция imagegif() - пока не истек срок действия патента на формат GIF, но imagecreatefromgif() работала всегда.

>Что делать?
Может подскажете где старую либу найти?
Так Вы же все равно не сможете установить другую версию библиотеки на хостинге...
Если недоступна функция imagecreatefromgif(), то это значит Вы не сможете работать с файлами формата GIF.
Или же речь идет о функции imagegif()?

   
 
 автор: grigstar   (16.01.2005 в 07:13)   письмо автору
 
   для: glsv (Дизайнер)   (03.01.2005 в 21:51)
 

Все замечательн, но есть одна проблема. Нужно вставить уменьшение изображения на реальном сайте.
Но библиотека GD, которая там стоит уже не поддерживает функцию CreateImageFromGif.
Естессно, на хостинговом сервере никто ее менять не станет.
Что делать?
Может подскажете где старую либу найти?

   
 
 автор: glsv (Дизайнер)   (04.01.2005 в 03:22)   письмо автору
 
   для: Олег   (04.01.2005 в 02:16)
 

>а как сделать чтоб он удалялся по закрытию окна броузера ?
А дело в том, что PHP не может узнать, что окно браузера было закрыто и следовательно удалить файл.
Какую задачу Вы хотите решить? Возможно, что писать в файлы вообще ничего не нужно…, но нужно определиться с задачей.

   
 
 автор: Олег   (04.01.2005 в 02:16)   письмо автору
 
   для: glsv (Дизайнер)   (04.01.2005 в 00:52)
 

Ну эта команда unlink("имя_удаляемого_файла");
удаляет этот фаил сразу а как сделать чтоб он удалялся по закрытию окна броузера ?

   

Сообщения:  [1-10]    [11-20]  [21-27] 

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

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