Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите разобраться в коде

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
antobra
Отправлено: 13 Января, 2011 - 16:53:50
Post Id


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




Есть код

PHP:
скопировать код в буфер обмена
  1.  
  2. header("Content-type: image/jpeg");
  3.  
  4. $src = @imagecreatefrompng('test.png');
  5. $w_src = imagesx($src);
  6. $h_src = imagesy($src);
  7.  
  8.  
  9. // вычисление пропорций
  10.        $ratio = $w_src/48;
  11.        $w_dest = round($w_src/$ratio);
  12.        $h_dest = round($h_src/$ratio);
  13.  
  14.        $dest = imagecreatetruecolor($w_dest,$h_dest);
  15.        imagecopyresized($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
  16.  


Суть кода: масштабирование изображения, а конкретно уменьшение.
Код не работает. Показывается маленький значок изображения (не test.png), а браузеровский значок.

В чем собака зарыта?

(Отредактировано автором: 13 Января, 2011 - 16:56:19)

 
 Top
Мелкий Супермодератор
Отправлено: 13 Января, 2011 - 16:58:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




0) это весь код? Где тогда вывод результата?
1) собака точно есть - выкиньте её. (про @)
2) закомментируйте header и вызовите скрипт напрямую браузером, должен идти бинарный код.


-----
PostgreSQL DBA
 
 Top
antobra
Отправлено: 13 Января, 2011 - 17:05:27
Post Id


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




Мелкий пишет:
0) это весь код? Где тогда вывод результата?
1) собака точно есть - выкиньте её. (про @)
2) закомментируйте header и вызовите скрипт напрямую браузером, должен идти бинарный код.


Сделал. Показывается цифра 1 и все))
 
 Top
garvey
Отправлено: 13 Января, 2011 - 17:15:41
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




А код довольно прост.
1) imagecreatefrompng - берет png изображение и возвращает false при неудаче, или возвращает идентификатор изображения при удаче)
2) imagesx - ширина картинки
3) imagesy - высота картинки
4) round - округление числа с указанной точностью
5) imagecreatetruecolor - возвращает идентификатор чёрно-белого изображения размером xна y
6) imagecopyresized - копирует и изменяет размеры части изображения.
 
 Top
antobra
Отправлено: 13 Января, 2011 - 17:18:16
Post Id


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




garvey пишет:
А код довольно прост.
1) imagecreatefrompng - берет png изображение и возвращает false при неудаче, или возвращает идентификатор изображения при удаче)
2) imagesx - ширина картинки
3) imagesy - высота картинки
4) round - округление числа с указанной точностью
5) imagecreatetruecolor - возвращает идентификатор чёрно-белого изображения размером xна y
6) imagecopyresized - копирует и изменяет размеры части изображения.


Спасибо, я это понимаю. Но не могу понять в чем проблема))))
 
 Top
garvey
Отправлено: 13 Января, 2011 - 17:32:04
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




Извините, не до конца прочел проблему. Проверьте, существует ли файл test.png. Попробуйте ипользовать абсолютный путь. Там должен быть URL, а не физический путь к файлу.
 
 Top
Мелкий Супермодератор
Отправлено: 13 Января, 2011 - 17:39:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




antobra пишет:
Показывается цифра 1 и все))

И откуда она взялась? Ещё раз - это весь код скрипта?
phpfaq.ru/debug


-----
PostgreSQL DBA
 
 Top
antobra
Отправлено: 13 Января, 2011 - 18:41:26
Post Id


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




Мелкий пишет:
antobra пишет:
Показывается цифра 1 и все))

И откуда она взялась? Ещё раз - это весь код скрипта?
phpfaq.ru/debug


Весь, кроме вывода. Вывожу через echo.

С единичкой перепутал. Выводится попеременно: Resource id #2 или Resource id #3
 
 Top
Мелкий Супермодератор
Отправлено: 13 Января, 2011 - 18:58:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ну я и говорю - самое важное выкинули.
Это не imagemagick, который можно через echo выводить, в GD выводится итоговое изображение через функции imagejpeg, imagepng и подобные.


-----
PostgreSQL DBA
 
 Top
antobra
Отправлено: 13 Января, 2011 - 19:38:04
Post Id


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




Вывод теперь работает. Кстати, header нужно добавить, иначе не выводится (выводит длинный текст из различных символов).

А вот функция imagecopyresized не работает((( Вроде сделал все согласно инструкции на php.su
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB