Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
1 / 1 / 0
Регистрация: 23.06.2013
Сообщений: 70

TImage и прозрачность

19.03.2017, 20:37. Показов 8599. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется пустой TImage
И после выполнения этих строчек появляется белый фон
Code
1
2
3
Image2.Canvas.Font.Color:=clred;
  Image2.Canvas.Font.Size:=24;
  Image2.Canvas.TextOut(20,20,'Температура');
Как понимаю без картинки канвас не "реализуется" а при добавлении текста это становится .bpm формата а там прозрачности нету.

Добавлено через 38 минут
Загрузив PNG уже нельзя применить TextOut.
Не подскажите как сделать прозрачный фон
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2017, 20:37
Ответы с готовыми решениями:

Мерцание компонента Timage и перемещение Timage при нажатии
Здравствуйте! Помогите убрать мерцание компонента Timage при изменении размера. Нашел в поиске, советуют так: procedure...

Прозрачность для TImage
Здравствуйте! Через paint создал круглую кнопку и сохранил как button_test.bmp. Те места, вне кнопки, я закрасил цветом = RGB (255, 0,...

Задать прозрачность GameObject, чтобы у дочерних также изменилась прозрачность
Привет. Подскажите, как задать прозрачность GameObject'у, чтобы у дочерних также изменилась прозрачность. Дочерних может быть очень...

21
1 / 1 / 0
Регистрация: 23.06.2013
Сообщений: 70
20.03.2017, 17:59  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DenNik Посмотреть сообщение
его за основу можешь взять
Я уже создал такое:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function TForm1.ImageText(var Image:TImage;x,y:integer;text:string):boolean;
var
  bmp: TBitmap;
begin
  bmp:=TBitmap.Create;
  bmp.PixelFormat:=pf8bit;
  bmp.Width:=image.Width;
  bmp.Height:=image.Height;
  bmp.Canvas.Brush.Style:=bsClear;
  bmp.Canvas.Font.Size:=64;
  bmp.Canvas.Font.Name:='Times New Roman';
  bmp.Canvas.TextOut(x,y,text);
  image.Transparent:=true;
  image.Picture.Bitmap.Assign(bmp);
  bmp.Free;
end;
У шрифта зазубрины появились естественно только - но вроде решается
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
20.03.2017, 21:11
смотри, провел эксперимент. ниже в листинге на кнопке 1 - твой код (адаптированный без передачи параметров), на кнопке 2 - мой код. в архиве готовый ЕХЕ. поклацай кнопками и узри разницу. потом найди отличие в реализации отрисовки. почем так происходит, я не знаю. копай самостоятельно
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
procedure TForm3.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  Image1.Picture:= nil;
  bmp := TBitmap.Create;
  bmp.PixelFormat := pf8bit;
  bmp.Width := Image1.Width;
  bmp.Height := Image1.Height;
  bmp.Canvas.Brush.Style := bsClear;
  bmp.Canvas.Font.Size := 64;
  bmp.Canvas.Font.Style:= [fsBold];
  bmp.Canvas.Font.Name := 'Times New Roman';
  bmp.Canvas.TextOut(10, 10, 'Hello, world!');
  Image1.Transparent := true;
  Image1.Picture.Bitmap.Assign(bmp);
  bmp.Free;
end;
 
procedure TForm3.Button2Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  Image1.Picture:= nil;
  bmp:= TBitmap.Create;
  bmp.Width:= Image1.Width;
  bmp.Height:= Image1.Height;
  with bmp.Canvas do
  begin
    Brush.Color:= clGreen;
    FillRect(Image1.ClientRect);
    Brush.Style:= bsClear;
    Font.Name:= 'Times New Roman';
    Font.Size:= 64;
    Font.Style:= [fsBold];
    TextOut(10,10,'Hello, world!');
  end;
  // отрисовка Bitmap с прозрачностью
  bmp.TransparentColor:= clGreen;
  bmp.Transparent:= true;
  Image1.Transparent := true;
  Image1.Picture.Assign(bmp);
  bmp.Free;
end;
Вложения
Тип файла: zip Project3.zip (616.0 Кб, 40 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2017, 21:11

Как по нажатию мыши менять TImage и перерисовывать на него bmp с другого TImage?
Есть два TImage. На Image1 картинка TBitmap, Image1 растянут на всю форму. При нажатии на Image1 и OnMouseMove var x1, y1: integer; ...

Could not find a match for 'TImage::TImage()'
Решил поработать с классами. Ну и заодно разобраться с firemonkey. Сразу же нарвался на такую штуку. Вроде в firemonkey есть TImage,...

Прозрачность
Всем привет!) Подскажите как написать код чтобы пользователь с помощью компонента TrackBar мог бы сам изменять прозрачность формы??

Прозрачность
Здрасти. У меня картинка с синим фоном. Можно его сделать прозрачным без редактирования в фотошопе???

Два изображения совместить так, что одно из них будет «полупрозрачным»
Два изображения можно совместить так, что одно из них будет как бы «полупрозрачным». Для этого значения цветовых компонент каждого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru