Рисование BBCode на картинке

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Рисование BBCode на картинке

Сообщение Debugger » 21.12.2008 (Вс) 17:00

Scarabey , я заметил, что у тебя скроллинг по строкам. Со строками разной высоты такой фокус не пройдет - будет видно, что за одинаковый промежуток времени пролистнулся заголовок высотой 150 пикселей и маленький текст высотой 10.
А [/dfg] - это просто пример того, что компонент не реагирует на написание закрывающего тега.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 21.12.2008 (Вс) 17:07

2Scarabey
Занятно. Пологаю, что твой подход - разбивание текста на линии и обработка каждой по отдельности. Категорически интересно, как ты сюда прикрутишь форматирование. Ждемс с нетерпением.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Рисование BBCode на картинке

Сообщение Joo » 21.12.2008 (Вс) 17:20

Я уже прикручивал )) У меня был нормальный вьювер текста с форматированием, но так как я делал РЕДАКТОР больших объемов текста, меня результат не устроил и я забросил это дело.

2Debugger
Размер шрифта, а так же вывод картинок не большая проблема. Скролинг переделаю, у меня уже есть идеи.

2MIT
Обработка по строкам учитывая открытые теги в предыдущих строках совсем не проблема.

з.ы. Как я уже говорил это зачаток и он далек от того что было сделанно, но так как это было недавно я нить мысли не потерял )
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 21.12.2008 (Вс) 17:25

2Debugger,Scarabey Изображение
Ладно, ждем твоего парсера во всей своей красе.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 21.12.2008 (Вс) 19:12

А я пока свой доделываю.
Вот приделал форматирование списков
wa_prj_tags.rar
(24.81 Кб) Скачиваний: 107

Кстати, у меня такое чувство, что скроллинг - не парсерово дело, а отдельного контрола

Между делом такой вопрос: как подвинуть нарисованый кусок в Graphics`е на 10 px вправо (или еще куда-нибудь)?

added:
Есть только одна мысль - юзание BitBlt.
Пример реализации под .NET`ом (может кому надо, не знаю)
BitBlt_src.zip
(5.52 Кб) Скачиваний: 89
Но тогда надо закрашивать прежнее местоположение, а это не есть хорошо... У кого-нибудь может есть идеи получше?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Рисование BBCode на картинке

Сообщение Debugger » 21.12.2008 (Вс) 20:40

Нетчики познают API... Смотрите в сторону TextOut, CreateFont и SelectObject.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Рисование BBCode на картинке

Сообщение Nord777 » 21.12.2008 (Вс) 21:02

Между делом такой вопрос: как подвинуть нарисованый кусок в Graphics`е на 10 px вправо (или еще куда-нибудь)?
Но тогда надо закрашивать прежнее местоположение, а это не есть хорошо... У кого-нибудь может есть идеи получше?
MIT я тебе уже отвечал, юзай API ScrollWindow.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Рисование BBCode на картинке

Сообщение tyomitch » 21.12.2008 (Вс) 21:20

А ни одному не пришла в голову мысль, вместо изобретения очередного квадратноколёсого велосипеда-парсера, заюзать хотя бы MSXML? :?
В самописном вы будете баги вылавливать до конца миров.
Изображение

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 21.12.2008 (Вс) 21:27

Debugger писал(а):Нетчики познают API...
Половина .NET`а - API, вся графика в .NET`е - обертка к API. Без него никуда.

tyomitch писал(а):А ни одному не пришла в голову мысль, вместо изобретения очередного квадратноколёсого велосипеда-парсера, заюзать хотя бы MSXML?
Где ж ты раньше-то был (небось, сидел и глумился :D )... А MSXML картинки рисовать умеет? Если да, то признаю, ступили (хотя как сказать, ведь изобретение велосипедов - тоже обучение, да и глюки все когда-нибудь поймаются), если нет - будем ездить на квадратных колесах, которые будут потихоньку отбиваться, превратятся в 10-угольник, потом в 20-ти, в итоге став круглыми.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Рисование BBCode на картинке

Сообщение tyomitch » 21.12.2008 (Вс) 21:38

MIT писал(а):А MSXML картинки рисовать умеет?

MSXML умеет парсить, MIT умеет рисовать.
Пусть каждый занимается тем, что умеет ;-)

MIT писал(а):Если да, то признаю, ступили (хотя как сказать, ведь изобретение велосипедов - тоже обучение, да и глюки все когда-нибудь поймаются), если нет - будем ездить на квадратных колесах, которые будут потихоньку отбиваться, превратятся в 10-угольник, потом в 20-ти, в итоге став круглыми.

А какая цель -- "писать рисовалку" или "написать рисовалку"?
Если первая, то можно ещё свой ExtTextOut по дороге реализовать, с разными модными эффектами вроде кернинга и сжатия-растяжения ;-)
Интересно шописец, обещаю, сам когда-то маялся похожим ;-)
Изображение

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 21.12.2008 (Вс) 21:54

tyomitch писал(а):MSXML умеет парсить
Ну и мы с парсингом справимся, вон у меня вроде получается (да и не только у меня).

tyomitch писал(а):Пусть каждый занимается тем, что умеет
Да, но свое писать - намного интереснее, тем более в познавательных целях.
tyomitch писал(а):А какая цель -- "писать рисовалку" или "написать рисовалку"?Если первая, то можно ещё свой ExtTextOut по дороге реализовать, с разными модными эффектами вроде кернинга и сжатия-растяжения
Цель - написать, но ведь и сам процесс немаловажен. А про ExtTextOut - почему бы и нет? Только это попозже немного, щас другие занятия есть...
tyomitch писал(а):Интересно шописец, обещаю
Почему-то я тебе верю...
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

alexkr.net
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 15
Зарегистрирован: 19.12.2008 (Пт) 11:50
Откуда: Germany

Re: Рисование BBCode на картинке

Сообщение alexkr.net » 22.12.2008 (Пн) 11:18

привет. вот проект прошлый переделал немного.

Добавил кнопку при нажатии на которую в ImageBox рисуется Bitmap, созданный из WebBrowser.

Посмотри, может пригодиться. В принципе, в этом примере твоя цель достигнута.

P.S. Там небольшой баг. Лень было отловить в чём дело. Но ты разберёшься.
Вложения
ietest.zip
(156.33 Кб) Скачиваний: 106
Ничто так не ограничивает полет мысли программиста, как компилятор

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 22.12.2008 (Пн) 14:02

alexkr.net писал(а):P.S. Там небольшой баг
:D
Чето у меня он ничего не рисует...

Хотя DrawToBitmap - тоже вариант, но тут плоха привязка к контролу-парсеру (но зато свой не нужен).
В любом случае я допишу то, что начал, а то совсем плохо получится: столько времени и все просто так.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

alexkr.net
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 15
Зарегистрирован: 19.12.2008 (Пт) 11:50
Откуда: Germany

Re: Рисование BBCode на картинке

Сообщение alexkr.net » 22.12.2008 (Пн) 14:33

там баг не большой. компилируй проект, потом в текстбоксе что нить напиши, чтоб вызвалось событие Textchange, потом жми на кнопку и тады всё получится.
Ничто так не ограничивает полет мысли программиста, как компилятор

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 22.12.2008 (Пн) 15:33

Гы, прикольно :) . Особенно понравился такой красивый-красивый скролбар на картинке :D

Вопрос-между-делом: а как измерить количество определенных символов в конце String`а? (например, как рациональнее узнать, что у буквосочитания "ывешпапыфжзкщплаыыыыыыыыы" именно 9 букв "ы" в конце?)

В предвкушении очень остроумного ответа от кого-нибудь типа "руками посчитай" и т.п. отвечаю сразу - запаришься так считать :)
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

alexkr.net
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 15
Зарегистрирован: 19.12.2008 (Пт) 11:50
Откуда: Germany

Re: Рисование BBCode на картинке

Сообщение alexkr.net » 22.12.2008 (Пн) 15:55

Вот, может есть и по элегантней способ, но это первое что пришло в голову.

Код: Выделить всё
Private Structure CharCount
        Dim l As String
        Dim count As Integer
    End Structure

    Private Function GetLastCharCount(ByVal text As String) As CharCount

        Dim cc As CharCount

        Dim length As Integer = text.Length
        cc.l = Mid(text, length)
        For i As Integer = length - 1 To 1 Step -1
            If Not Mid(text, i, 1) = cc.l Then
                cc.count = length - i
                Return cc
            End If
        Next

        cc.count = length
        Return cc
    End Function
Ничто так не ограничивает полет мысли программиста, как компилятор

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 22.12.2008 (Пн) 16:51

Да уж, я тоже подумывал о подобном, но способ сложно назвать элегантным: функция Mid, а также символьное сравнение - очень медленные операции. Подобная функция может быть производительной только при условии использования массива символов (или сразу ascii-кодов) и сравнению цифр (кодов), а не самих символов. Должен быть способ получше...

По поводу BBCode`ов: а ограничен ли размер (высота) шрифта?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

alexkr.net
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 15
Зарегистрирован: 19.12.2008 (Пт) 11:50
Откуда: Germany

Re: Рисование BBCode на картинке

Сообщение alexkr.net » 22.12.2008 (Пн) 17:11

тогда попробуй так создай массив из char, я использовал текст из 600000 символов. Скорость "неимоверная".

Код: Выделить всё
    Private Structure CharCount
        Dim lastchar As Char
        Dim count As Long
    End Structure

    Private Function GetLastCharCount(ByVal text As String) As CharCount

        Dim cc As CharCount

        cc.lastchar = text.Last
        Dim chars As Char() = CType(text, Char())
        Dim length As Long = UBound(chars) + 1
        For i As Long= length - 1 To 0 Step -1
            If Not chars(i) = cc.lastchar Then
                cc.count = length - 1 - i
                Return cc
            End If
        Next

        cc.count = length
        Return cc
    End Function
Последний раз редактировалось alexkr.net 22.12.2008 (Пн) 17:21, всего редактировалось 2 раз(а).
Ничто так не ограничивает полет мысли программиста, как компилятор

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 22.12.2008 (Пн) 17:20

Спасибо, уже лучше :) . Щас только избавлюсь от объявления массива в каждой функции, от Long`а и уже юзабельно. :wink:
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 22.12.2008 (Пн) 22:57

Объясню, почему надо выкинуть Long:
1.
Public Function UBound(ByVal Array As System.Array, Optional ByVal Rank As Integer = 1) As Integer

2. Сложно найти массив символов, состоящий более чем из 2147483647 (Int32.MaxValue = 2147483647) элементов (а это, между прочим, 2 гб оперативки)

Если все же осталось желание юзать именно Long, то Array.LongLength() As Long в помощь :wink:

added:
Текущую версию моего творения можно обозвать примерно так: 0.4 Изображение
Сделал скроллинг, переделал рисовалку, добавил тег Size (правда, фиксированный, лимит задается в настройках), улучшил формирование списков. Осталось только понять, куда "исчезают маляры и штукатуры" :D (для тех кто в танке - топаем сюда)

Как дела у однополчан?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Рисование BBCode на картинке

Сообщение Debugger » 23.12.2008 (Вт) 13:35

У однополчан кризис. Не мировой, а локальный. Дело в том, что основная задача моего компонента - вывод текста с подсветкой тегов и некоторых конструкций. То есть, текст - программный код. И никто не должен мешать пользователю написать такую строчку :
.. ... .. [fnt=...] ... ... ..

А ведь она обработается парсером! Соответственно, указание тегов форматирования в самом тексте тут не подходит.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Рисование BBCode на картинке

Сообщение Nord777 » 23.12.2008 (Вт) 13:51

Соответственно, указание тегов форматирования в самом тексте тут не подходит.
А что мешает для обозначения тэга использовать префикс в виде каких-нибудь "непечатаемых"/молоиспользуемых символов?
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 23.12.2008 (Вт) 15:13

2Debugger:
Сходи сюда. Статья немного не в тему, но пункт 26 написан прям для тебя. Реализуешь, и все хорошо станет. :wink:

p.s. Нашел моляров. Через дырку в стене убегали к "малдаващкам" ((c) Наша раша) :lol:
А вот штукатуров наверно инопланетяне похищают... исчезают и исчезают, прям напасть какая-то, хотя на соседней стройплощадке все нормально :D
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Рисование BBCode на картинке

Сообщение Debugger » 23.12.2008 (Вт) 21:02

Шедеврально, MIT. Ты предлагаешь делать две вещи: непосредственно прорисовка текста, а ненужные слова выделать тегом nobb. Это, гм, нелогично, медленно и некрасиво, я лучше по-своему :wink:

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 23.12.2008 (Вт) 21:50

Debugger писал(а):никто не должен мешать пользователю написать такую строчку : .. ... .. [fnt=...] ... ... ..

Насколько я понял ты хочешь написать теги в текст, которые не будет обрабатываться парсером.
Вот что бы никто не мешал написать тег в тексте и можно использовать nobb.
Например сделай так: [nobb][cоlor=123456]qwerty[/cоlor][/nobb], при выводе будет выглядеть так: [cоlor=123456]qwerty[/cоlor]. Юзеру будет понятно, что тег cоlor по умолчанию должен обрабатываться, а для его исключения и надо юзать nobb.
Это если тег зарезервированный. Если нет - не обрабатывать его вовсе, и никаких проблем не будет (в моих примерах везде фигурирует тег [test][/test], который не обрабатывается и [quоte][/quоte] - выключенный).

Если ты хочешь чего-то другого - объясни.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 24.12.2008 (Ср) 18:27

Штукатуры закончились. :( Пришлось поставить вместо них фанерные макеты. Может никто не заметит. :)
А так, в принципе, моя идея реализована (за вычетом этой маленькой ошибочки), оптимизацию для больших текстов буду реализовывать уже на досуге, т.к. щас времени как-то вообще нет ни на что...

Вот, пожалуйста, последняя версия
wa_prj_tags.rar
(37.63 Кб) Скачиваний: 107

Рассказывать о ней не буду, там все написано и показано. Качайте, тестируйте; принимается конструктивная критика и рациональные предложения.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 02.01.2009 (Пт) 21:02

Итак, вроде уже даже юзабельно.

Относительно описания из этого поста
Добавлено:
  • Возможность задания цветов следующими способами:
    1. Random - случайный цвет
    2. $XX;XX;XX где XX - десятичное число (от 0 до 255), кодирующее канал цветовой модели RGB
    3. $XX;XX;XX;XX где XX - десятичное число (от 0 до 255), кодирующее канал цветовой модели ARGB
    4. Возможность использования в качастве цвета название из System.Drawing.KnownColor
      Полный список именованных цветов
      Код: Выделить всё
      ActiveBorder
      ActiveCaption
      ActiveCaptionText
      AppWorkspace
      Control
      ControlDark
      ControlDarkDark
      ControlLight
      ControlLightLight
      ControlText
      Desktop
      GrayText
      Highlight
      HighlightText
      HotTrack
      InactiveBorder
      InactiveCaption
      InactiveCaptionText
      Info
      InfoText
      Menu
      MenuText
      ScrollBar
      Window
      WindowFrame
      WindowText
      Transparent
      AliceBlue
      AntiqueWhite
      Aqua
      Aquamarine
      Azure
      Beige
      Bisque
      Black
      BlanchedAlmond
      Blue
      BlueViolet
      Brown
      BurlyWood
      CadetBlue
      Chartreuse
      Chocolate
      Coral
      CornflowerBlue
      Cornsilk
      Crimson
      Cyan
      DarkBlue
      DarkCyan
      DarkGoldenrod
      DarkGray
      DarkGreen
      DarkKhaki
      DarkMagenta
      DarkOliveGreen
      DarkOrange
      DarkOrchid
      DarkRed
      DarkSalmon
      DarkSeaGreen
      DarkSlateBlue
      DarkSlateGray
      DarkTurquoise
      DarkViolet
      DeepPink
      DeepSkyBlue
      DimGray
      DodgerBlue
      Firebrick
      FloralWhite
      ForestGreen
      Fuchsia
      Gainsboro
      GhostWhite
      Gold
      Goldenrod
      Gray
      Green
      GreenYellow
      Honeydew
      HotPink
      IndianRed
      Indigo
      Ivory
      Khaki
      Lavender
      LavenderBlush
      LawnGreen
      LemonChiffon
      LightBlue
      LightCoral
      LightCyan
      LightGoldenrodYellow
      LightGray
      LightGreen
      LightPink
      LightSalmon
      LightSeaGreen
      LightSkyBlue
      LightSlateGray
      LightSteelBlue
      LightYellow
      Lime
      LimeGreen
      Linen
      Magenta
      Maroon
      MediumAquamarine
      MediumBlue
      MediumOrchid
      MediumPurple
      MediumSeaGreen
      MediumSlateBlue
      MediumSpringGreen
      MediumTurquoise
      MediumVioletRed
      MidnightBlue
      MintCream
      MistyRose
      Moccasin
      NavajoWhite
      Navy
      OldLace
      Olive
      OliveDrab
      Orange
      OrangeRed
      Orchid
      PaleGoldenrod
      PaleGreen
      PaleTurquoise
      PaleVioletRed
      PapayaWhip
      PeachPuff
      Peru
      Pink
      Plum
      PowderBlue
      Purple
      Red
      RosyBrown
      RoyalBlue
      SaddleBrown
      Salmon
      SandyBrown
      SeaGreen
      SeaShell
      Sienna
      Silver
      SkyBlue
      SlateBlue
      SlateGray
      Snow
      SpringGreen
      SteelBlue
      Tan
      Teal
      Thistle
      Tomato
      Turquoise
      Violet
      Wheat
      White
      WhiteSmoke
      Yellow
      YellowGreen
      ButtonFace
      ButtonHighlight
      ButtonShadow
      GradientActiveCaption
      GradientInactiveCaption
      MenuBar
      MenuHighlight
  • Тег [ s][ /s] - изменение шрифта на зачеркнутый (возможно когда-нибудь и понадобится)
  • Тег [font=param][/font] - изменение шрифта на указанный; стиль сохраняется
Изменено:
  • По-тихоньку исправляется первая недоработка
  • Недоработка №2 - исправлено (тестирование ошибок не выявило)
  • Недоработка №3 - исправлено
  • Недоработка №4 - исправлено для ~90% случаев
  • Недоработка №5 - исправлено, данное сочетание не приводит к краху
  • Недоработка №6 - исправлено (тестирование ошибок не выявило)
  • Недоработка №7 - исправлено для ~99,7% случаев
Также исправлены мелкие ошибки, неотловленые раньше

В программу-пример добавлено 8 синтетических тестов парсера. В качестве параметра "сложность" указывается десятичное (только попробуй ввести другое :D ) число от 0 до 9999; ставить больше 2-3 тыс - не советую: это слишком ресурсоемко и бессмыслено ввиду установленного ограничения высоты. Также есть возможность менять фон.

Так же в программе более подробно рассказано обо всех тегах и наглядно показаны способы применения.

[на сладенькое][лирическое отступление]Сегодня выдалось пара свободных часов, и я не мог себя не порадовать, тем более, что была возможность совместить приятное с полезным.[/лирическое отступление]
Собственно в чем фишка: добавил функцию отображения смайлов 8) . Категорически занятно выглядит панно из 2498 смайлов во весь рабочий стол (под мое разрешение). Прикола ради, в качестве одного из тестов выступает "смайловый", можно поразвлекаться :lol: .[/на сладенькое]

В общем, как вссегда, качайте, тестируйте; жду вашего мнения, критики и предложений по усовершенствованию/модификации работы.
Обещаю, слудующий релиз (если будет полноценным и корректным) отправиться в кирпичи!

wa_prj_tags.rar
(68.4 Кб) Скачиваний: 106
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Рисование BBCode на картинке

Сообщение Debugger » 02.01.2009 (Пт) 21:12

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

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Рисование BBCode на картинке

Сообщение MIT » 02.01.2009 (Пт) 21:18

:shock:
Уууу, ну это вы, батенька, загнули, конечно...
Мне рисовать надо было, я и нарисовал. А если еще и редактировать надо, то конвертируй текст в RTF и юзай RTB, и будет тебе счастье, че парится лишний раз?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Рисование BBCode на картинке

Сообщение Debugger » 02.01.2009 (Пт) 21:24

В том то и дело - компонент RTB есть не на каждом компьютере (сам споткнулся на этом), RTF править ручками - мясо.
P.S. а классные у нас шапки)

Пред.След.

Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 76

    TopList