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
Форумы портала PHP.SU :: Версия для печати :: Вопрос по работе с генерированными в PHP изображениями.
Форумы портала PHP.SU » » Графика в PHP » Вопрос по работе с генерированными в PHP изображениями.

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

1. avtokrator - 18 Мая, 2012 - 14:12:00 - перейти к сообщению
Доброго времени суток, уважаемые посетители форума PHP.SU
Помогите в следующем коде:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // Картинка которую кладем.
  3. $im1=imageCreateFromPNG("images/land/v2.png");
  4. // Картинка фон, на которую ложем.
  5. $im2=imageCreateFromPNG("images/land/2.png");
  6. imageCopy($im2,$im1,0,0,0,0,52,52);
  7. // Печать картинки в браузере.
  8. header("Content-type: image/png");
  9. imagePNG($im2);
  10. ?>

Изменять значение $im2...
Многое уже пробовал, пока красивыми методами не получается...
2. Muxa - 18 Мая, 2012 - 15:01:13 - перейти к сообщению
в смысле изменять значение $im2?
3. avtokrator - 18 Мая, 2012 - 15:40:28 - перейти к сообщению


А как сделать:

Чтобы название файла было переменной...
(Добавление)
Ведь при обращении к страничке
выводит:
CODE (html):
скопировать код в буфер обмена
  1. <img style="-webkit-user-select: none" src="http://ezrpg.ru/i2.php">
4. Muxa - 18 Мая, 2012 - 15:45:02 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $parametr=imageCreateFromPNG("images/land/".$parametr.".png");
или я опять что то неправильно понял Не понял
5. avtor.fox - 18 Мая, 2012 - 15:50:37 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <a href='image.php?parametr=2'>Картинка 2</a>
  2. <a href='image.php?parametr=3'>Картинка 3</a>


PHP:
скопировать код в буфер обмена
  1. $parametr = $_GET['parametr'];
  2. $im2=imageCreateFromPNG("images/land/".$parametr.".png");
6. avtokrator - 18 Мая, 2012 - 15:51:34 - перейти к сообщению
Да нет, я просто рисую изображение средствами РНР.
И вот, хотелось бы, передавать переменную и её значение - внешнему РНР - файлу, который обрабатывается как изображение.
При коде:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Картинка которую кладем.
  4. $im1=imageCreateFromPNG("images/land/v2.png");
  5. // Картинка фон, на которую ложем.
  6. $im2=imageCreateFromPNG("images/land/2.png");
  7. imageCopy($im2,$im1,0,0,0,0,52,52);
  8. // Печать картинки в браузере.
  9. header("Content-type: image/png");
  10. imagePNG($im2);
  11. ?>
  12.  

Картинка отображается а вот при коде:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Картинка которую кладем.
  4. $im1=imageCreateFromPNG("images/land/v2.png");
  5. // Картинка фон, на которую ложем.
  6. $im2=imageCreateFromPNG("images/land/".$PARAMETR.".png");
  7. imageCopy($im2,$im1,0,0,0,0,52,52);
  8. // Печать картинки в браузере.
  9. header("Content-type: image/png");
  10. imagePNG($im2);
  11. ?>
  12.  

Выходит сообщение об ошибки в строке:
PHP:
скопировать код в буфер обмена
  1. header("Content-type: image/png");

Убираю строку - нет картинки вообще никакой....
(Добавление)
avtor.fox пишет:
CODE (html):
скопировать код в буфер обмена
  1. <a href='image.php?parametr=2'>Картинка 2</a>
  2. <a href='image.php?parametr=3'>Картинка 3</a>


PHP:
скопировать код в буфер обмена
  1. $parametr = $_GET['parametr'];
  2. $im2=imageCreateFromPNG("images/land/".$parametr.".png");

Пробовал уже не помогает почему-то...
Отображается только картинка:
PHP:
скопировать код в буфер обмена
  1. $im1=imageCreateFromPNG("images/land/v2.png");
7. avtor.fox - 18 Мая, 2012 - 16:13:41 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if(!$_GET['parametr']){ exit('attemp!'); }
  2. $parametr = $_GET['parametr'];
  3. $img = "images/land/".$parametr.".jpg";
  4. var_dump($img); //Смотрим что в переменной
  5. if(!file_exists($img)){ exit('Файл не найден'); }
  6.  
  7. $im1=imageCreateFromPNG("images/land/v2.png");
  8. // Картинка фон, на которую ложем (не ложем, а кладём).
  9. $im2=imageCreateFromPNG($img);
  10. imageCopy($im2,$im1,0,0,0,0,52,52);
  11. // Печать картинки в браузере.
  12. header("Content-type: image/png");
  13. imagePNG($im2);

(Добавление)
avtokrator пишет:
Выходит сообщение об ошибки в строке:

Файл без метки BOM?
8. avtokrator - 18 Мая, 2012 - 16:22:19 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1.  
  2. 'images/land/8.jpg' is not a valid PNG file in Z:\home\ezrpg.ru\www\i.php on line 10
  3.  

Исправлял все на jpg - результат тот же...
(Добавление)
Файлы все находит...
(Добавление)
UTF-8 без ВОМ
(Добавление)
Преобразовывал в другие кодировки - результат тот же...
(Добавление)
При коде:
PHP:
скопировать код в буфер обмена
  1. <?
  2. header("Content-type: image/png");
  3. if(!$_GET['parametr']){ exit('attemp!'); }
  4. $parametr = $_GET['parametr'];
  5. $img = "images/land/".$parametr.".png";
  6. var_dump($img); //Смотрим что в переменной
  7. if(!file_exists($img)){ exit('Файл не найден'); }
  8. $im1=imageCreateFromPNG("images/land/v2.png");
  9. // Картинка фон, на которую кладём.
  10. $im2=imageCreateFromPNG($img);
  11. imageCopy($im2,$im1,0,0,0,0,52,52);
  12. // Печать картинки в браузере.
  13. imagePNG($im2);
  14. ?>
Ошибок не выдает, но
показывает пустую страницу.
(Добавление)
Переношу страницу с вопросом в раздел графика.
9. kat69 - 29 Мая, 2012 - 11:55:35 - перейти к сообщению
Попробуйте так, у меня все отработало
при условии, что есть два png файла
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(!$_GET['parametr']){ exit('attemp!'); }
  3. $parametr = $_GET['parametr'];
  4. $img = "images/land/".$parametr.".png";
  5. //var_dump($img); //для вывода картинки, однозначно лишнее
  6. if(!file_exists($img)){ exit('Файл не найден'); }
  7. $im1=imageCreateFromPNG("images/land/v2.png");
  8. // Картинка фон, на которую кладём.
  9. $im2=imageCreateFromPNG($img);
  10. imageCopy($im2,$im1,0,0,0,0,52,52);
  11. // Печать картинки в браузере.
  12. header("Content-type: image/png"); //переставил вниз, ибо если стоит вначале - ошибок не увидим
  13. imagePNG($im2);

 

Powered by ExBB FM 1.0 RC1