![]() |
|
![]() ![]() ![]() |
|
ilnurgi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 29.6.2007 Репутация: нет Всего: нет |
всем привет.
как сделать текст в лейбле с контуром. вот как на скриншоте чтоб было ![]() |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Можно разработать довольно сложное решение в плане алгоритмизации. Если не будет других предложений, то могу попробовать сделать.
|
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Алгоритм примерно такой.
1. Имеем "оцифрованную" надпись с шириной пера 1 пиксел. То есть, толщина линий букв равна 1 пикселу. Хотя это не обязательно, в принципе. 2. Пробегаемся по всей получившейся двумерной матрице в поисках "единичек", т.е. мест, где есть черные точки - части буквы. 3. Найдя эту точку, ставим точки другим цветом вокруг нее, но при условии, что текущая точка, где предполагается поставить точку другим цветом, уже не является точкой черного цвета, т.е. не принадлежит букве. Примерно так. Если нужно код, попробую сделать, но не факт, что смогу. У алгоритма есть минус - мы должны иметь оцифрованную надпись. Хотя и эта проблема решаема вполне. Это сообщение отредактировал(а) mr.Anderson - 5.7.2007, 22:12 |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Получилось!
![]() ![]() ![]() Держи архив. В архиве лежит DLL, которая содержит процедуру Stroke(). Процедура первым параметром принимает указатель на метку (TLabel), вторым - цвет окантовки (TColor). Данная процедура создает контур толщиной в 1 пиксел вокруг текста метки. Это сообщение отредактировал(а) mr.Anderson - 5.7.2007, 22:31 Присоединённый файл ( Кол-во скачиваний: 22 ) ![]() |
|||
|
||||
Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
И кто-то недавно говорил про библиотеки
![]() -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
К примеру можно так (для более точного эфекта ставьте "ровный" шрифт и желательно жирный):
ps. потом более точно сделаю -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
mr.Anderson |
|
||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
А? ![]() Алгоритмов можно придумать несколько, разумеется. ![]()
Кстати, просто интересно, а мое решение вы смотрели? Там не важно, жирный/не жирный, моноширинный или нет. ![]() ![]() |
||||
|
|||||
ilnurgi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 29.6.2007 Репутация: нет Всего: нет |
что то совсем ничего не получилось. нашёл что-то подобное в компоненте RxLib. буду использовать его
всем спасибо за внимание |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
ilnurgi, странно. Оба варианта работоспособные. Ну да ладно.
|
|||
|
||||
Klin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
??? Ну ладно у меня вариант "кривой", а вариант mr.Anderson? У RxLabel есть только эффект тени, а не обводки. ps. Вот вариант чуть "получше"
Добавлено через 1 минуту и 37 секунд А если надпись изначально сделать красной, то можно так:
-------------------- Я человек - попробуйте обвинить меня за это. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |