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 :: imagecreate

 PHP.SU

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


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

> Без описания
xhugo
Отправлено: 19 Марта, 2011 - 11:53:19
Post Id



Посетитель


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


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




Создаю картинку с текстом:
PHP:
скопировать код в буфер обмена
  1. <? header("Content-type: image/png");
  2. $img = imagecreate(480,400);
  3. $black = ImageColorAllocate($img, 0, 0, 0);
  4. $green = ImageColorAllocate($img, 0, 255, 0);
  5. $white = ImageColorAllocate($img, 255, 255, 255);
  6. $trans = ImageColorTransparent($img, $white);
  7.  
  8. $tc=$_POST['nm'];
  9.  
  10. #$tc="Laa is so happy to see you!ddddddddddddddddddd";
  11. ImageFill($img, 0, 0, $black);
  12. ImageString($img , 2, 130, 180, $tc, $white);
  13. //ImageTTFText($img, 18, 0, 45, 45, $green, "arial.TTF", "$text");
  14. ImageTTFText($img, 18, 0, 25, 45, $green, "arial.TTF", "$text");
  15. ImagePng($img);
  16. ImageDestroy($img); ?>


CODE (html):
скопировать код в буфер обмена
  1. <form action="ded.php" method="post">
  2. <textarea cols="30" rows="10" name="nm"></textarea><br>
  3. <button>OK</button>
  4. </form>


если пишу с переносом строки,
то переноса нет, чисто делает какой то стронный символ.
в чем проблема?

(Отредактировано автором: 19 Марта, 2011 - 11:53:47)

 
 Top
Champion Супермодератор
Отправлено: 19 Марта, 2011 - 12:16:34
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Видимо, потому что ImageString когда встречает символ перевода строки, ничего никуда не переводит, а помещает на картинку каждый символ просто правее предыдущего.
 
 Top
xhugo
Отправлено: 19 Марта, 2011 - 12:26:17
Post Id



Посетитель


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


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




Как тогда решить проблему?
 
 Top
Champion Супермодератор
Отправлено: 19 Марта, 2011 - 12:34:20
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Ну например вывести с помощью ImageTTFText
 
 Top
xhugo
Отправлено: 19 Марта, 2011 - 17:40:07
Post Id



Посетитель


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


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




Шрифт взял этот rghost.ru/4834474
PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. header("Content-type: image/png");
  4. $img = imagecreate(540,400);
  5. $black = ImageColorAllocate($img, 0, 0, 0);
  6. $green = ImageColorAllocate($img, 0, 255, 0);
  7. $white = ImageColorAllocate($img, 255, 255, 255);
  8. $trans = ImageColorTransparent($img, $white);
  9. ##
  10.  $tc=$_POST['nm'];
  11. //$tc="hello|привет";
  12. ImageFill($img, 0, 0, $black);
  13. //ImageString($img , 2, 130, 180, $tcc2, $white);
  14. ImageTTFText($img, 18, 0, 100, 195, $green, "arial.ttf", "$tc");
  15. ImagePng($img);
  16.  ?>

если передовать post на скрипт, то русские буквы становится всякими символами.
а если просто в настройках $tc="текст";
то все норм.
что нитак?
 
 Top
vsll
Отправлено: 19 Марта, 2011 - 18:14:05
Post Id


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


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


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




Цитата:
imageloadfont() загружает пользовательский растровый шрифт и возвращает идентификатор шрифта (который всегда больше 5, поэтому не конфликтует со встроенными шрифтами)

http://php.su/functions/?imageloadfont
 
 Top
xhugo
Отправлено: 19 Марта, 2011 - 19:02:49
Post Id



Посетитель


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


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




а есть стандартный шрифт? т.е. без загрузки сторонних?
ImageTTFText

а imageloadfont не хочет работать с ttf

(Отредактировано автором: 19 Марта, 2011 - 19:05:30)

 
 Top
ALEN
Отправлено: 19 Марта, 2011 - 20:00:30
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




PHP:
скопировать код в буфер обмена
  1. $text_color = imagecolorallocate ($im, 233, 14, 91);
  2. imagestring ($im, 50, 5, 5,"A Simple Text String", $text_color);
 
 Top
vsll
Отправлено: 19 Марта, 2011 - 20:04:21
Post Id


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


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


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




Попробуйте обозначить так: var $font_file = 'fonts/myfont.ttf';
или шрифт возьмите попроще (подберите из простых, какой нормально отображается)
 
 Top
JustUserR
Отправлено: 20 Марта, 2011 - 00:14:05
Post Id



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


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


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




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


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
xhugo
Отправлено: 20 Марта, 2011 - 12:45:04
Post Id



Посетитель


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


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




imagestring - переводит русские буквы и перенос строки в иероглифы.
ImageTTFText - только переводит русские буквы в иероглифы.
<?
header("Content-type: image/png");
$img = imagecreate(540,400);
$black = ImageColorAllocate($img, 0, 0, 0);
$green = ImageColorAllocate($img, 0, 255, 0);
$white = ImageColorAllocate($img, 255, 255, 255);
$trans = ImageColorTransparent($img, $white);
$tc=$_POST['nm'];
ImageFill($img, 0, 0, $black);
ImageTTFText($img, 18, 0, 100, 195, $green, "arial.ttf", "$tc");
ImagePng($img);
ImageDestroy($img);
?>

как решить проблему с ImageTTFText?

(Отредактировано автором: 20 Марта, 2011 - 12:45:34)

 
 Top
ALEN
Отправлено: 20 Марта, 2011 - 12:59:44
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




xhugo
Перенос строки почему бы не реализовать вторым вызовом функции?
 
 Top
xhugo
Отправлено: 20 Марта, 2011 - 15:18:49
Post Id



Посетитель


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


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




по поводу переноса пофиг.
там у всех не читает русские буквы - вот проблема.
 
 Top
Champion Супермодератор
Отправлено: 20 Марта, 2011 - 15:28:51
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




$tc = iconv('windows-1251','utf-8', $_POST['nm']);
 
 Top
ALEN
Отправлено: 20 Марта, 2011 - 15:38:35
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




xhugo
Используемый шрифт должен поддерживать кириллические символы (хотя бы те которые тебе нужны)

Champion
Думал по этому вопросу, но мы работаем внутри, поэтому проблем не должно возникать.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB