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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перенос текста по словам 
:(
    Опции темы
Milko
Дата 4.3.2008, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.3.2008
Где: Новосибирск

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



Смысл такой. Юзер заргужает фото, заголовок, текст, скрипт выводит макет обьявления в нужном формате. Вверху заголовок, ниже слева фото, рядом справа текст. Ширина макета ограничена, 1000п. Так вот вопрос в том как сделать чтоб текст шел не одной строкой, а переносился по словам.
 
Сейчас это реализовано с помощью функции, которая разбивает текст по словам, циклом проверяет ширину слова, добавляет пробел, снова проверяет, если не влазит в требуемую ширину, вставляет символ переноса строки и т.д.

Может быть существует более изящное решение? 

А вообще хотелось бы чтоб текст обтекал фото, но тут вообще ничего придумать не могу. Помогите плиз.  smile 
PM MAIL   Вверх
GeneralElectric
Дата 4.3.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 1
Всего: 16



Насколько я понял, скрипт генерирует картинку с объявлением.
А можно поинтересоваться - какие цели у такой интересной задачи? Отправить на печать?
Я почему интересуюсь - у браузеров, обычно гораздо более широкие возможности по рендерингу гипертекста, чем у библиотеки GD.
PM MAIL   Вверх
Milko
Дата 4.3.2008, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.3.2008
Где: Новосибирск

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



Цитата(GeneralElectric @ 4.3.2008,  11:50)
Насколько я понял, скрипт генерирует картинку с объявлением.
А можно поинтересоваться - какие цели у такой интересной задачи? Отправить на печать?
Я почему интересуюсь - у браузеров, обычно гораздо более широкие возможности по рендерингу гипертекста, чем у библиотеки GD.

Да, именно так, задача либо сохранить в файл рисунок, либо отправить на печать. Но требование такое-чтоб макет был в виде рисунка. Мои юзеры в большенстве своем с компьютером на вы, потому чем проще, тем лучше. По крайней мере распечатывать рисунки уже все научились  smile

Добавлено @ 12:24
И еще появилась проблема, не могу найти ошибку.

получаем цвет из формы и назначаем его

Код

function colOr ($color) {
                   $cl1=str_replace('#','0x',$color);
                   return $cl1;
                }

$bordercolor=colOr($bord);
              
$textcolor=colOr($textcol);



//выводим текст и прямоугольник 

imageFilledRectangle($destImage, 15, 15, 25+$destWidth, 25+$destHeight, $bordercolor);
 imagettftext($destImage, 30, 0, (20+$destWidth)/2+500-$sdx , 50-$sdy, $textcolor, $font,  $texttop);


текст получается нужного цвета, а прямоугольник тупо черного цвета! 

В чем ошибка не пойму!  smile 


 ! 
PARROT
Пользуйтесь кнопкой КОД!!!


Это сообщение отредактировал(а) PARROT - 7.3.2008, 12:51
PM MAIL   Вверх
Feldmarschall
Дата 7.3.2008, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 2
Всего: 32



а если руками прописать цвет в прямоугольнике - он черный? если да - то при чем тут форма? И какие отличия от примера в документации?
если нет - то почему бы не вывести то, что приходит из формы и сравнить с тем, что написано руками?
PM   Вверх
Milko
Дата 7.3.2008, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.3.2008
Где: Новосибирск

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



Если в $bordercolor явно прописать то что приходит из формы, то получается прямоугольник нужного цвета.  
Т.е.
Код

$bord=#132546; (то что пришло из формы)
function colOr ($color) {
                   $cl1=str_replace('#','0x',$color);
                   return $cl1;
                }

$bordercolor=colOr($bord);

получается черный прямоугольник, а если

[color=blue]$bordercolor=0х132546;


получается то что надо.




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


 




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


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

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