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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> масштабирование картинки 
:(
    Опции темы
Wolf1994
Дата 9.11.2004, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

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



Как можно проверить размерность какртинки в PHP и, если она больше требуемого размера - уменьшить (наподобие того как с аватарами в этом форуме)? smile
PM MAIL WWW   Вверх
Opik
Дата 9.11.2004, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Wolf1994
array getimagesize ( string filename [, array imageinfo])
PM MAIL Skype   Вверх
Chuck
Дата 9.11.2004, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Сушня
**


Профиль
Группа: Эксперт
Сообщений: 442
Регистрация: 12.12.2003
Где: Узбекистан, Ташке нт

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



Вот может тебе это поможет?
http://www.komkon.org:8008/~denis/mydoc/gd.htm

Код

Пример. Изменение размера изображения

Одна из наиболее часто встречающихся задач – изменение размера картинки (например, при создании фотоальбома с предпросмотром).



Improved version of ResizeGif given by tjhunter with Height % Widht.


/* ResizeGif with (height % width) */
function RatioResizeImg( $image, $newWidth, $newHeight){

// открываем gif-файл
eregi(".(.*)$",$image,$regs);
switch($regs[1]){
case "gif": $srcImage = ImageCreateFromGIF( $image ); break;
case "jpg": $srcImage = ImageCreateFromJPEG( $image ); break;
case "png": $srcImage = ImageCreateFromPNG( $image ); break;
default: $srcImage = ImageCreateFromGIF( $image ); break;}



// определяем изначальную высоту и ширину картинки
$srcWidth = ImageSX( $srcImage );
$srcHeight = ImageSY( $srcImage );



// следующий код проверяет если ширина больше высоты

// или высота больше ширины картинки так, чтобы
// при изменении сохранилась правильная пропорция

$ratioWidth = $srcWidth/$newWidth;
$ratioHeight = $srcHeight/$newHeight;

if( $ratioWidth < $ratioHeight){

$destWidth = $srcWidth/$ratioHeight;
$destHeight = $newHeight;
}else{

$destWidth = $newWidth;
$destHeight = $srcHeight/$ratioWidth;
}


// создаем новую картинку с конечными данными ширины и высоты
$destImage = imagecreate( $destWidth, $destHeight);

// копируем srcImage (исходная) в destImage (конечную)
ImageCopyResized( $destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight );

//создаем gif
ImageGif( $destImage );


// освобаждаем память
ImageDestroy( $srcImage );
ImageDestroy( $destImage );

}


// сохраняем вывод в буфер
ob_start();

// изменяем размер; будет сохранено в буфере

ResizeGif( "/where/image/is/image.gif", "150", "150");

// копируем в переменную

$resizedImage = ob_get_contents();

// очищаем буфер
ob_end_clean();


// сохраняем $resizedImage в базу данных, файл, выводим ее в браузер...


?>

PM MAIL WWW GTalk   Вверх
Opik
Дата 9.11.2004, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Chuck
теперь человек просто скопирует код, где ничего и что зачем не знает... и начнт писать далее, и опять придет за кодом на сей форум...
Добавлено @ 17:28
eregi(".(.*)$",$image,$regs);
switch($regs[1]){
...
default: $srcImage = ImageCreateFromGIF( $image ); break;}
имхо лучше будет воспользоваться функцией pathinfo
PM MAIL Skype   Вверх
Wolf1994
Дата 10.11.2004, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

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



Разобрался. Спасибо.
PM MAIL WWW   Вверх
Chuck
Дата 10.11.2004, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Сушня
**


Профиль
Группа: Эксперт
Сообщений: 442
Регистрация: 12.12.2003
Где: Узбекистан, Ташке нт

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



Opr
Это нужно Wolf1994-у а не нам!!! Надо ему - разберется, нет - скопирует!!!
Не так уж там все сложно! Тут важно быстро помочь, а не заставлять учить, учиться!!! Хотя я, может, и не прав!!!
Главное помогли!!!
PM MAIL WWW GTalk   Вверх
Opik
Дата 10.11.2004, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

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



Chuck
конечно бывает и так: увидел - запомнил... эт я так... почти smile)
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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