![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Unsane |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 8.6.2007 Репутация: 1 Всего: 5 |
Необходимо было реализовать раскраску текста. Цвет определяется по "спецсимволу"(^+число от 0 до 9).
Собственно раскраску реализовал, но есть баги, которые исправить не могу: 1. Неправильно считается ширина выводимого текста, всвязи с чем между 2 частями разного цвета образуется пробел. Например, "Ninzia^1DDT" отображается так , а должно быть NinziaDDT.2. Иногда при перерисовке выскакивает ошибка в 6 строке(код ниже) "Attempted to read or write protected memory. This is often an indication that other memory is corrupt."
И еще хотелось бы узнить - можно ли рисовать текст с тенью, а то белый на бежевоп не легко разглядывать( ).Это сообщение отредактировал(а) Unsane - 16.2.2008, 12:24 --------------------
Я дурак.. Этим и интересен! |
|||
|
||||
| Ctrl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.2.2008 Где: Tula Репутация: 6 Всего: 7 |
1. Почему пробелы: когда строка рисуется целиком, отдельные буквы могут немного перекрывать друг друга (например посмотри в экранную лупуна слог "Та"). Соответственно когда ты рисуешь строку частяями надо это учитывать(см. пример - там используется самый простой метод это расчитать)
2. Для отрисовки теней рисуй строку два раза со смещением(см. пример) Ну а вот и сам пример отрисовки с правильным расчетом размера текста и тенями:
Добавлено через 5 минут и 7 секунд в примере, если внимательно посмотришь, приведен, наверное более правильный парсинг содержимого ячейки через регулярное выражение |
|||
|
||||
| Unsane |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 8.6.2007 Репутация: 1 Всего: 5 |
Спасибо большое, а то я весь мозг сломал!
Это сообщение отредактировал(а) Unsane - 16.2.2008, 23:03 --------------------
Я дурак.. Этим и интересен! |
|||
|
||||
| Ctrl |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.2.2008 Где: Tula Репутация: 6 Всего: 7 |
Хочу поправить:
Ctrl 17.2.2008, 19:52:
Разобрался: Строчка
Ошибка в использовании \b (просто конец слова, каким может являтьс тот же символ "-") - надо явно использовать либо признак цвета ("^0" и т.п.), либо конец текста Фикс:
Unsane, спасибо за внимательность , удачи! |
||||||||
|
|||||||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |