|
|
|
Обводка для текста на канве20.04.2012, 15:02. Показов 18133. Ответов 13
Метки нет (Все метки)
Я через TEdit ввожу текст и он выводится на TImage.Canvas
Можно ли сделать обводку у текста и как(1 px чёрный цвет).
0
|
|
| 20.04.2012, 15:02 | |
|
Ответы с готовыми решениями:
13
Обводка текста в Label? Обводка текста в QLabel |
|
|
||||||
| 20.04.2012, 15:18 | ||||||
|
что такое обводка?
**************************** модуль теней для TLabel (версия 0.3) Модуль позволяет устанавливать неограниченное количество теней для Надписей. Также есть возможность выделить весь текст рамкой. подключив модуль теней после модуля StdCtrls , класс TLabel изменит свои свойтва, и можно управлять его тенью, и рамкой вокруг текста. Все тени сохраняются в внутри компонента в внутри TList. Поэтому при запуске дексруктора все подчищается. текст модуля
1
|
||||||
|
|
|
| 20.04.2012, 15:29 [ТС] | |
|
Допустим, и как же мне всунуть его в канву?
0
|
|
|
|
|||||||||||
| 20.04.2012, 15:59 | |||||||||||
|
на канву таким же макаром можно.
4
|
|||||||||||
|
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 36
|
||||||
| 25.04.2012, 09:21 | ||||||
|
hi Alex_pac пытаюсь реализовать Ваш пример т.е. вывести на канву текст с обводкой.
добавляю процедуры в модуль, delphi рудается что не продеклорировал... хотя в разделе type процедуру объявляю... Где ошибка м.б.? Кусок Кода
0
|
||||||
|
|
||
| 25.04.2012, 10:39 | ||
За минимальное колво строчек пода получаем вполне себе результат. Разве это не главное?
0
|
||
|
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 36
|
|
| 27.04.2012, 08:45 | |
|
hi Alex_pac
Реализовал как в твоем примере, только по заданию мне нужно, на конве формы выводить надпись... в связи с этим 2 вопроса. 1. как вывести надпись на канву без кнопки, т.е. что при создании и показе формы надпись сразу присутствовала? пихал процедуру и в FormShow и в FormCreate надпись не появляется. 2. + когда меняю ее цвет (надписи) она появляется на белом прямоугольнике, как это обойти, пока фон формы не сменю, (он этот белый прямоугольник под надписью не исчезает). Исходник
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus, Buttons; type TForm1 = class(TForm) RadioGroup1: TRadioGroup; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; PopupMenu1: TPopupMenu; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; BitBtn1: TBitBtn; procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure RadioGroup1Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure FormCreate(Sender: TObject); // procedure CanvasTextShadowBorder(Canvas:TCanvas; text:string;x,y:integer; sh_color: TColor = 0; width: integer = 1); private { Private declarations } public { Public declarations } end; var Form1: TForm1; s: string; col:integer; implementation {$R *.dfm} procedure CanvasTextShadowBorder(Canvas:TCanvas; text:string;x,y:integer; sh_color: TColor = 0; width: integer = 1); var c:TColor; st:TBrushStyle; begin With Canvas do begin c:=Font.Color; st:=Brush.Style; Font.Color:=sh_color; TextOut(x+width,y+width,text); Brush.Style:=bsClear; TextOut(x-width,y-width,text); TextOut(x+width,y-width,text); TextOut(x-width,y+width,text); Canvas.Font.Color:=c; TextOut(x,y,text); Brush.Style:=st; end; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin Form1.RadioGroup1; Canvas.Font.Color:= col; Canvas.Font.Name:='Arial'; Canvas.Font.Size:=40; //Canvas.Font.Style:=fsBold; // Canvas.TextOut(10, 10, 'НАТАША'); CanvasTextShadowBorder(Canvas,'НАТАША',5 0,20); end; procedure TForm1.FormCreate(Sender: TObject); begin end; procedure TForm1.FormShow(Sender: TObject); begin col:=clWhite; // s:='автор: Н.А.Страшевская'; //Form1.BitBtn1.Click; end; procedure TForm1.N2Click(Sender: TObject); begin//красный (надпись) Col:= clRed; Form1.BitBtn1.Click; end; procedure TForm1.N3Click(Sender: TObject); begin//голубой (надпись) Col:= clSkyBlue; end; procedure TForm1.N4Click(Sender: TObject); begin//зеленый (надпись) Col:= clGreen; end; procedure TForm1.N6Click(Sender: TObject); begin//об авторе ShowMessage('автор: Н.А.Страшевская'); end; procedure TForm1.N8Click(Sender: TObject); begin//красный (форма) Form1.Color := clRed; end; procedure TForm1.N9Click(Sender: TObject); begin//синий (форма) Form1.Color := clBlue; end; procedure TForm1.N10Click(Sender: TObject); begin//голубой (форма) Form1.Color := clSkyBlue; end; procedure TForm1.RadioGroup1Click(Sender: TObject); begin if Form1.RadioGroup1.ItemIndex=0 then Form1.Color := clRed; if Form1.RadioGroup1.ItemIndex=1 then Form1.Color := clBlue; if Form1.RadioGroup1.ItemIndex=2 then Form1.Color := clSkyBlue; end; end. Задание
Пункт меню Действие
Цвет -При нажатии изменяет цвет формы на заданный, при этом нарисованная надпись должна быть видна на форме.
0
|
|
|
Заблокирован
|
|
| 27.04.2012, 09:06 | |
|
batmanrider,
Подруби GDI+ и не мучайся. Там это есть.
0
|
|
|
|
||||||
| 27.04.2012, 12:15 | ||||||
|
событие onpaint отвечает за отрисовку
Canvas.Brush.Color - за цвет фона отрисовки
1
|
||||||
|
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 36
|
|
| 28.04.2012, 06:50 | |
|
hi ВЕЛИКИЙ Alex_pac
Низкий поклон тебе... Код изящно подправил, смотрится красиво, работает отлично...
0
|
|
|
0 / 0 / 1
Регистрация: 01.05.2013
Сообщений: 22
|
|
| 09.07.2015, 12:22 | |
|
Я дико извиняюсь за некропостинг, но возникла схожая задача, только с возможностью использования флагов DT_WORDBREAK , DT_END_ELLIPSIS и иже с ними. Возможно ли сделать что-то похожее?
0
|
|
| 09.07.2015, 12:22 | |
|
Помогаю со студенческими работами здесь
14
обводка текста с выводом на изображение Рисование текста на канве
Программа для рисования графика функций на канве
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|