簡體   English   中英

如何在Delphi XE8中將圖像加載到APK

[英]How do I load an image to an apk in delphi XE8

我正在使用Delphi XE8開發一個應用程序。

當我在手機上運行程序時,它給我一個錯誤:

加載位圖失敗(image.png)

我的代碼如下:

if ListBox1.ItemIndex = 0 then
begin
  img.bitmap.LoadFromFile('Image.png');
  iMin:= Round(iNumber * 1);
  iMax:= Round(iNumber *13.24);
  iAvg:= Round(iNumber * 2.59);
  label7.Text:= inttostr(iMin);
  label5.Text:= inttostr(iAvg);
  label6.Text:= inttostr(iMax);
  label2.Text:= 'Minimum';
  label3.Text:= 'Average';
  label4.Text:= 'Maximum';
end
else
  ...

請注意,圖像與我的程序保存在同一文件夾中。

不要使用相對路徑。 始終使用絕對路徑。

您需要使用Deployment Manager將映像文件部署到電話上的適當文件夾,然后使用System.IOUtils.TPath類在運行時查找該文件夾:

跨支持的目標平台的標准RTL路徑功能

在Android上,將映像文件部署到./assets/internal文件夾,然后在運行時使用TPath.GetDocumentsPath()方法,如本博客中所述:

在iOS和Android上部署和訪問本地文件

EDN文檔和博客都沒有提到的是,您還需要將System.StartupCopy單元添加到應用程序的uses子句中。

uses
  ..., System.IOUtils, System.StartupCopy;

...

img.bitmap.LoadFromFile(TPath.Combine(TPath.GetDocumentsPath, 'Image.png'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM