Всем доброго времени суток. Начал осваивать создание приложений на андроид и столкнулся с проблемой. Приложение компилировалось ровно до того момента пока я не попытался загружать изображение из ресурсов. В ресурсы добавлена картинка с именем Fon (идентификатор FonMain) и типом RCData, формат Bmp (24 бита). Если убрать строчку DownloadImages, то приложение скопилируется и запустится.
Код прилагаю ниже. Прошу помощи разобраться в проблеме - где я допустил ошибку? Учусь по статьям в интернете и довольно большая часть кода от туда не работает (даже с получением разрешения экрана были проблемы - пришлось пока ориентироваться просто на размер формы временно).
Вопрос
Armageddets
Всем доброго времени суток. Начал осваивать создание приложений на андроид и столкнулся с проблемой. Приложение компилировалось ровно до того момента пока я не попытался загружать изображение из ресурсов. В ресурсы добавлена картинка с именем Fon (идентификатор FonMain) и типом RCData, формат Bmp (24 бита). Если убрать строчку DownloadImages, то приложение скопилируется и запустится.
Код прилагаю ниже. Прошу помощи разобраться в проблеме - где я допустил ошибку? Учусь по статьям в интернете и довольно большая часть кода от туда не работает (даже с получением разрешения экрана были проблемы - пришлось пока ориентироваться просто на размер формы временно).
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Helpers.Android, Androidapi.JNI.Util;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure FormPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Buf:TBitmap;
Regim,Xr,Yr:integer;
fon:Tbitmap;
procedure DownloadImages;
implementation
{$R *.fmx}
{$R *.LgXhdpiPh.fmx ANDROID}
procedure DownloadImages;
var RS: TResourceStream;
begin
RS:=TResourceStream.Create(HInstance, 'FonMain', RT_RCData);
try
Fon.Width:=420;
Fon.Height:=680;
Fon.LoadFromStream(RS);
finally
RS.Free;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Regim:=0;
Buf:=TBitmap.Create;
Buf.Width:=420;
Buf.Height:=680;
form1.Border.Styling:=false;
DownloadImages; //zagruzka kartinok
end;
procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas;
const ARect: TRectF);
var C1,C2:TRectF;
begin
Form1.Canvas.BeginScene;
C1:=rectF(0,0,420,680);
C2:=rectF(0,0,420,680);
fon.SetSize(420,680);
Buf.Canvas.DrawBitmap(fon,C1, C2, 0);
form1.Canvas.DrawBitmap(Buf,C1, C2, 0);
Form1.Canvas.EndScene;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
Xr:=form1.ClientWidth;
Yr:=form1.ClientHeight;
//Showmessage(Inttostr(Xr)+'x'+Inttostr(Yr));
end;
end.
11 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.