Форум программистов, компьютерный форум, киберфорум
Delphi: FireMonkey
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 13.12.2021
Сообщений: 49
1

VLC > FMX

01.06.2022, 14:44. Показов 500. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно код VLC адаптировать под FMX.
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.width:=Image1.height;//сделаем Image квадратным
end;
procedure TForm1.Button1Click(Sender: TObject);
var x,y,w,h,i,j,x1,y1,x2,c:integer;
const cv:array[0..5] of integer=
(clRed,clBlue,clLime ,clYellow,clAqua,clFuchsia);
begin
randomize;
w:=(Image1.Width-50)div 9;//размер квадрата
h:=w div 2;//высота сплющенного квадрата,можно изменить
//назначим координаты начала отсчета
//так чтобы кубик был в центре
x:=(Image1.Width-3*w-3*h)div 2;
y:=(Image1.Height-3*w-3*h)div 2+3*h;
with Image1.Canvas do
 begin
  //рисуем верх
  for i:=0 to 2 do
   begin
    y1:=y-i*h;
    x1:=x+i*h;
    for j:=0 to 2 do
     begin
      x2:=x1+j*w;
      c:=cv[random(6)];
      pen.color:=c;
      brush.Color:=c;
      moveto(x2,y1);lineto(x2+h,y1-h);
      moveto(x2+h,y1-h);lineto(x2+h+w,y1-h);
      moveto(x2+h+w,y1-h);lineto(x2+w,y1);
      moveto(x2+w,y1);lineto(x2,y1);
      floodfill(x2+5,y1-2,c,fsBorder);
      pen.Width:=2;
      pen.Color:=clBlack;
      moveto(x2,y1);lineto(x2+h,y1-h);
      moveto(x2+h,y1-h);lineto(x2+h+w,y1-h);
      moveto(x2+h+w,y1-h);lineto(x2+w,y1);
      moveto(x2,y1);lineto(x2+w,y1);
     end;
    end;
//рисуем перед
for i:=0 to 2 do
 begin
  y1:=y+i*w;
  x1:=x;
  for j:=0 to 2 do
   begin
    c:=cv[random(6)];
    pen.color:=c;
    brush.Color:=c;
    rectangle(x1+j*w,y1,x1+(j+1)*w,y1+w);
    //floodfill(x1+j*w+5,y1+5,c);
    pen.color:=clBlack;
    pen.Width:=2;
    rectangle(x1+j*w,y1,x1+(j+1)*w,y1+w);
   end;
 end;
//рисуем правую сторону
x:=x+3*w;
for i:=0 to 2 do
 begin
  y1:=y+i*(w);
  x1:=x;
  for j:=0 to 2 do
   begin
    x2:=x1+j*h;
    c:=cv[random(6)];
    pen.color:=c;
    brush.Color:=c;
    moveto(x2,y1);lineto(x2+h,y1-h);
    moveto(x2+h,y1-h);lineto(x2+h,y1-h+w);
    moveto(x2+h,y1-h+w);lineto(x2,y1+w);
    moveto(x2,y1+w);lineto(x2,y1);
    floodfill(x2+5,y1-2,c,fsBorder);
    pen.color:=clBlack;
    pen.Width:=2;
    moveto(x2,y1);lineto(x2+h,y1-h);
    moveto(x2+h,y1-h);lineto(x2+h,y1-h+w);
    moveto(x2+h,y1-h+w);lineto(x2,y1+w);
    moveto(x2,y1+w);lineto(x2,y1);
    y1:=y1-h;
   end;
  end;
end;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2022, 14:44
Ответы с готовыми решениями:

Multicast в GNS3 с VLC на VLC через C7200
Привет всем. Учусь гонять мультикаст в GNS3, в кольцо соединены 3 C7200 R1<->R2<->R3<->R1... В R1...

Авторизация в FMX
Здраствуйте. есть хещ на VCL. Если я использую этот хещ на Fmx. то ответ вообще другой. например...

OpenGL И FMX
Здравствуйте, пишу игры на fmx, но недавно узнал про OpenGL. Решил изучить OpenGL, но понял, что...

Try icon FMX
Добрый день! На просторах интернета нашел само-писанный компонент "nTrayIcon" для FMX (Windows...

5
5860 / 4588 / 1448
Регистрация: 14.04.2014
Сообщений: 20,352
Записей в блоге: 20
01.06.2022, 15:49 2
0. V C L

1.
глядя на FloodFill - инструмент отчаяния - скажу, что и для VCL этот код не очень
поэтому давайте сразу перейдем к главному вопросу

2. что он должен делать?

3. наводящие размышления
нужно создать TBitmap и нарисовать на его Canvas все что нужно
потом просто присвоить этот битмап на image.bitmap
Delphi
1
2
3
4
  img :TImage;
  b :TBitmap;
...
  img.Bitmap := b;
методы рисования сильно отличаются у FMX.Canvas
поэтому надо их просмотреть, чтоб выбрать, чем пользоваться
вот тут - все методы, которые начинаются на Draw... и Fill...
0
0 / 0 / 0
Регистрация: 13.12.2021
Сообщений: 49
01.06.2022, 16:01  [ТС] 3
Кубик-рубик рисуется и раскрашивается
0
0 / 0 / 0
Регистрация: 13.12.2021
Сообщений: 49
01.06.2022, 16:03  [ТС] 4
Почему такая ошибка появляется?
Миниатюры
VLC > FMX  
0
Модератор
3748 / 2248 / 782
Регистрация: 15.11.2015
Сообщений: 8,956
01.06.2022, 16:36 5
breyn, там внизу окна есть список ошибок и там написано, что ему не нравится. Скорее всего, нет метода DrawLine. Ну и у него как бы должно быть 4 параметра.
0
5860 / 4588 / 1448
Регистрация: 14.04.2014
Сообщений: 20,352
Записей в блоге: 20
01.06.2022, 17:29 6
вернемся вверх на 1

1. создать битмап
2. нарисовать на нем
3. присвоить к image.bitmap

Добавлено через 1 минуту
Цитата Сообщение от AzAtom Посмотреть сообщение
должно быть 4 параметра
или хотя бы три
https://docwiki.embarcadero.co... s.DrawLine
0
01.06.2022, 17:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2022, 17:29
Помогаю со студенческими работами здесь

TLegendScrollBar в FMX
Добрый день. Скачал TeeChart VCL/FMX v2019 Standard в поисках TLegendScrollBar. в dcu она вроде...

FMX приложение на XP
Доброго времени суток! После одного из обновлений приложения, мне пользователи написали, что оно...

FMX Error
Всем привет. Кто сталкивался с такой ошибкой? Как её исправить?

DBGrid в FMX
Очень мало инфы про ДБ гриды, как в TGrid или StringGrid изменить шрифт и высоту Header

Ресурсы в FMX
Как можно задать Timag-у картинку из ресурсов.

PDF в FMX
Как открывать PDF документы в своей программе написанной на DELPHI fmx?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru