Комментарии 60
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Вполне неплохая статья. Вполне неплохая статья. Ну, вы поняли.
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Привет, grindel! Привет, grindel! Привет, grindel! Привет, grindel!
Вполне неплохая статья. Вполне неплохая статья. Ну, вы поняли.
> Грузится не очень быстро
Вообще не грузится :(
Вообще не грузится :(
А почему не на чистом DOM? Три элемента — доска, текст и барт. Работало бы быстро.
Основная задача сводилась бы к формированию блока с текстом, но рендеринг был бы на браузере.
Основная задача сводилась бы к формированию блока с текстом, но рендеринг был бы на браузере.
Мысли вслух: было бы здорово сделать сервис, который по запросу вида «bart.png?text=...» выдавал бы такую картинку с текстом, указанным в запросе.
Сколько констант в коде! Отделить код от данных не пробовали? А ещё под виндой и под линуксом проверяли (с разными наборами шрифтов)? Столько эмпирической магии могут легко дать сбой, если шрифт заменить…
В MacOSX/FF шрифт не правильный.
Не впечатлило. Я думал он будет реально ходить и писать это мелом на доске.
Намного проще и надежней реализовать то же самое на стороне сервера.
Основная надежда лично у меня на HTML5 — это облегчение и упрощение верстки, воспроизведение видео и аудио одинаково на всех устройствах (к сожалению пока нет), более продвинутые формы.
Основная надежда лично у меня на HTML5 — это облегчение и упрощение верстки, воспроизведение видео и аудио одинаково на всех устройствах (к сожалению пока нет), более продвинутые формы.
И еще ссылка на получившееся изображение занимает порядка двух страниц текста. Я тут сваял быстренько кое-какую сентиментальную чепуху, попробовал отправить жене в скайп. Получилась стена кракозябр, причем как гиперссылка не работающая.
Из Canvas очень тяжело выташить нормальную картинку, нужно юзать PHP.
Думаю сделать bart.grindel.su/?text=text
Думаю сделать bart.grindel.su/?text=text
На PHP все это будет немного сложнее, в первую очередь из-за того, что там не так просто рисовать текст.
Имеется в виду что картинка отправляется на сервер, там форматируется и возвращается клиенту
Ну, чтобы картинка формировалась на сервере, нужно переписать весь скрипт на PHP. А там сложнее рисовать текст. Посмотрите на вот эти функции: imageTTFText(), imageTTFBBox(), imageFTText() и imageFTBBox().
Забавный сервис. Спасибо (:
>> Опробовать можно сдесь
Ну вы понЕли
Ну вы понЕли
Если честно, машинное написание подобно ручному выглядит не очень хорошо ввиду того что одинаковые буквы имеют идентичное написание, что выглядит крайне неестественно.
Лучше когда в наборе шрифта по 5-10 начертаний одной буквы, из которых происходит выбор произвольно.
Лучше когда в наборе шрифта по 5-10 начертаний одной буквы, из которых происходит выбор произвольно.
Подобная задача совершенно нетривиальна. В свое время мне ее как раз приходилось решать.
Нарисовал по 10 вариантов каждого символа на планшете, обработал и сделал читаемыми.
Далее сделал три варианта реализации:
— Создал 10 гарнитур шрифтов, написал скрипт, который принимал String и выводил HTML-код с этим самым String, но для каждой буквы выбиралась рандомная гарнитура.
— Создал 10 гарнитур шрифтов и на PHP написал скрипт, выбирающий для каждой буквы случайную гарнитуру и отрисовывающий все это дело на изображение.
— Для каждой буквы сделал полупрозрачный PNG 128x128, JS скрипт превращал String в набор , выбирая случайный вариант для каждой буквы.
Самым неоптимальным, но при этом самым гибким вариантом оказался первый. В итоге я использовал второй вариант, нагрузка лишняя конечно была, но зато у всех все отображалось правильно.
Третий лагал жутко, сразу нет.
Нарисовал по 10 вариантов каждого символа на планшете, обработал и сделал читаемыми.
Далее сделал три варианта реализации:
— Создал 10 гарнитур шрифтов, написал скрипт, который принимал String и выводил HTML-код с этим самым String, но для каждой буквы выбиралась рандомная гарнитура.
— Создал 10 гарнитур шрифтов и на PHP написал скрипт, выбирающий для каждой буквы случайную гарнитуру и отрисовывающий все это дело на изображение.
— Для каждой буквы сделал полупрозрачный PNG 128x128, JS скрипт превращал String в набор , выбирая случайный вариант для каждой буквы.
Самым неоптимальным, но при этом самым гибким вариантом оказался первый. В итоге я использовал второй вариант, нагрузка лишняя конечно была, но зато у всех все отображалось правильно.
Третий лагал жутко, сразу нет.
Можно попробывать нарисовать текст на отдельном изображении, несильно его исказить (как в капче) и наложить картинку на «доску». Главное подобрать правильные искажения. Вот очень хорошая статья на эту тему: habrahabr.ru/post/138668/
Спасибо за сервис, уже знаю на ком буду применять)
PS очень подробно комментирован код, не упускайте этой особенности при написании будущих статей
PS очень подробно комментирован код, не упускайте этой особенности при написании будущих статей
Еще: проверка на отсутствие текста не совсем правильная.
Она работает только тогда, когда текст это только один пробел, или когда текста нет совсем. Она не сработает, если текстом будут два или три пробела. На мой взляд лучше убрать _все_ пробелы из текста, и посмотреть, осталось ли там что-нибудь.
if (text.length == 0 || text === ' '){
text = 'ничего';
};
Она работает только тогда, когда текст это только один пробел, или когда текста нет совсем. Она не сработает, если текстом будут два или три пробела. На мой взляд лучше убрать _все_ пробелы из текста, и посмотреть, осталось ли там что-нибудь.
if(text.replace(/\s/g, '').length == 0)
text = 'Я не знаю, что написать!';
Было бы не лишним подправить ссылку в посте bart.grindel.su www.bart-gen.ru ;)
класс))
Что за жуть в адресе, если нажимаешь на «Скачать» %)
Сервис мертв?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Bart Chalkboard Generator