есть такая задача перенести один проект на Android платформу.
код для VCL
type
TRGB = record
b, g, r: byte;
end;
ARGB = array[0..1] of TRGB;
PARGB = ^ARGB;
var
gamecanvas: TBitmap;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j : word;
p: PARGB;
x, y: integer;
begin
i:=0;
for I := 0 to 255 do
begin
p :=gamecanvas.scanline[i];
for J := 0 to 255 do
begin
p[j].r := Random(255);
p[j].g := Random(255);
p[j].b := Random(255);
end;
end;
Form1.Canvas.Draw(0,0, gamecanvas);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
gamecanvas:=tbitmap.Create;
gamecanvas.pixelformat := pf24bit;
gamecanvas.Width:=256;
gamecanvas.Height:=256;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
gamecanvas.Free;
end;
как максимально (по быстроте выполнения) перенести его на FMX firemonkey
Вопрос
MaratBest
Добрый день !!!
есть такая задача перенести один проект на Android платформу.
код для VCL
type TRGB = record b, g, r: byte; end; ARGB = array[0..1] of TRGB; PARGB = ^ARGB; var gamecanvas: TBitmap; procedure TForm1.Button1Click(Sender: TObject); var i,j : word; p: PARGB; x, y: integer; begin i:=0; for I := 0 to 255 do begin p :=gamecanvas.scanline[i]; for J := 0 to 255 do begin p[j].r := Random(255); p[j].g := Random(255); p[j].b := Random(255); end; end; Form1.Canvas.Draw(0,0, gamecanvas); end; procedure TForm1.FormCreate(Sender: TObject); begin gamecanvas:=tbitmap.Create; gamecanvas.pixelformat := pf24bit; gamecanvas.Width:=256; gamecanvas.Height:=256; end; procedure TForm1.FormDestroy(Sender: TObject); begin gamecanvas.Free; end;
как максимально (по быстроте выполнения) перенести его на FMX firemonkey
есть ли пример работы со scanline ?
Form1.Canvas.Draw(0,0, gamecanvas); ?
Ссылка на комментарий
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.