Автор Тема: resize картинки  (Прочитано 7111 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн H2OP

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 37
  • +0/-0
  • 0
    • Просмотр профиля
    • http://defyscripts.com.ru
resize картинки
« : 31 Декабря 2004, 00:23:27 »
Подскажите как изменить размер загруженной через форму картинки и сохранить её с новыми размерами, т.е. как изменить и сохранить. И обязательно ли для этого нужно подключать модуль php_gd?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
resize картинки
« Ответ #1 : 31 Декабря 2004, 00:45:31 »
не обязательно.
можно воспользоваться какой-нибудь утилитой конвертации, например, imagemagick
впрочем, чтобы воспользоваться GD, подключать её тоже не всегда обязательно. она может быть уже подключена

Оффлайн H2OP

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 37
  • +0/-0
  • 0
    • Просмотр профиля
    • http://defyscripts.com.ru
resize картинки
« Ответ #2 : 31 Декабря 2004, 14:39:26 »
я понимаю, что если GD подключена, то её не нада уже подключать. Вопрос можно ли изменить размер картинки, которую загрузил юзер через форму, и сохранить её с другими размерами на сервере, и естественно с помощь пхп а не утилитой конвертации.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
resize картинки
« Ответ #3 : 31 Декабря 2004, 15:22:15 »
можно

Оффлайн H2OP

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 37
  • +0/-0
  • 0
    • Просмотр профиля
    • http://defyscripts.com.ru
resize картинки
« Ответ #4 : 31 Декабря 2004, 16:17:52 »
RomikChef
=) а если не трудно, можешь выложить кусочек кода, как изменить размер и сохранить?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
resize картинки
« Ответ #5 : 31 Декабря 2004, 16:22:53 »
а зачем? этих кусочков на форуме - и так уже десятки.
и в документации столько же.
бери любой.

Оффлайн H2OP

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 37
  • +0/-0
  • 0
    • Просмотр профиля
    • http://defyscripts.com.ru
resize картинки
« Ответ #6 : 31 Декабря 2004, 16:23:52 »
понятно, будем искать..

Оффлайн Dasha

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.sexgorod.com
resize картинки
« Ответ #7 : 19 Января 2005, 20:48:06 »
Я написала вот такую функцию для ресайза фотографии.
Может тебе пригодится.
Если надо - добавь проверку типа файла и обработку для GIF и других типов.
Удачи.

_SX, _SY - новые размеры фото, в которые надо уложиться
src_Dir - путь к папке, где лежит исходный файл
src_file - имя исходного файла
dst_Dir - путь к папке, куда сохранить новый файл
dst_file - имя под которым файл сохранить


function JPG_Resize ($_SX$_SY$src_Dir$src_file$dst_Dir$dst_file)
{

	
	
	
$fname $src_Dir "/" $src_file;
	
	
	
$s_Img imagecreatefromjpeg($fname);
	
	
	

	
	
	
$s_Img_sx imagesx($s_Img);
	
	
	
$s_Img_sy imagesy($s_Img);
	
	

	
	
	
//New size
	
	
	
$s_Img1_sx $s_Img_sx;
	
	
	
$s_Img1_sy $s_Img_sy;
	
	

	
	
	
// 1) Check Width
	
	
	
if( 
$s_Img1_sx $_SX )
	
	
	
{
	
	
	
	
$s_Img1_sy $_SX $s_Img1_sy $s_Img1_sx;
	
	
	
	
$s_Img1_sx $_SX;
	
	
	
}
	
	
	
// 2) Check Height
	
	
	
if( 
$s_Img1_sy $_SY )
	
	
	
{
	
	
	
	
$s_Img1_sx $s_Img1_sx $_SY $s_Img1_sy;
	
	
	
	
$s_Img1_sy $_SY
	
	
	
}
	
	

	
	
	
$s_Img1 imagecreatetruecolor($s_Img1_sx$s_Img1_sy);
	
	
	
$white imagecolorallocate ($s_Img1255255255);
	
	
	
imagecopyresampled($s_Img1$s_Img0000$s_Img1_sx$s_Img1_sy$s_Img_sx$s_Img_sy);

	
	
	
imagejpeg($s_Img1$dst_Dir "/" $dst_file100);
}


Это пример вызова функции:


move_uploaded_file
($filesubstr(getcwd(),0,strlen(getcwd())-3) . "r_images/" $id "_" $file_num ".jpg");
JPG_Resize(160213substr(getcwd(),0,strlen(getcwd())-3) . "r_images"$id "_" $file_num ".jpg"substr(getcwd(),0,strlen(getcwd())-3) . "r_images"$id "_" $file_num "_s.jpg");
JPG_Resize(800800substr(getcwd(),0,strlen(getcwd())-3) . "r_images"$id "_" $file_num ".jpg"substr(getcwd(),0,strlen(getcwd())-3) . "r_images"$id "_" $file_num ".jpg");

« Последнее редактирование: 19 Января 2005, 20:55:23 от Dasha »
Порно-блог http://www.SexGorod.com

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
resize картинки
« Ответ #8 : 19 Января 2005, 21:11:59 »
Да, с математикой, похоже, в школе проблемы были...

Хотя, в этом случае - да, пожалуй, данная функция должна быть предметом для гордости.

Оффлайн Dasha

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.sexgorod.com
resize картинки
« Ответ #9 : 19 Января 2005, 21:46:13 »
Что не так я написала ?
Что-то неправильно ? Я ошиблась ?
Почему ты опять наезжаешь вместо того чтобы нормально объяснить ?
Порно-блог http://www.SexGorod.com

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
resize картинки
« Ответ #10 : 19 Января 2005, 22:08:40 »
а разве здесь кто-то просил объяснений?
или задавал какие-то вопросы?

Оффлайн Dasha

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.sexgorod.com
resize картинки
« Ответ #11 : 19 Января 2005, 22:14:31 »
Ок, я прошу.
ЧТО НЕ ТАК в функции которую я прислала ?
Объясни пожалуйста - в чем ошибки ?
Порно-блог http://www.SexGorod.com

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
resize картинки
« Ответ #12 : 19 Января 2005, 22:29:01 »
ошибок нет.
просто расчеты можно было бы сделать пооптимальнее

Оффлайн Dasha

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.sexgorod.com
resize картинки
« Ответ #13 : 19 Января 2005, 22:33:33 »
Можно, ты прав.
Просто было написано в спешке, с тех пор руки не доходили поменять.
Я что, чтобы похвастаться этой ерундой написала ? Ну было под рукой, я сбросила...
Ну вот чего ты такой злой, а ? ))

- "Да, с математикой, похоже, в школе проблемы были...
Хотя, в этом случае - да, пожалуй, данная функция должна быть предметом для гордости."

Ты со всеми так или это не меня взъелся ?
Порно-блог http://www.SexGorod.com

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
resize картинки
« Ответ #14 : 19 Января 2005, 22:45:42 »
Цитировать
Dasha:
Я что, чтобы похвастаться этой ерундой написала

ну, не знаю.
не вижу других причин постить ответ почти через месяц после вопроса.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28