0

我希望重用启动图像作为我的应用程序的背景。目前我正在做这样的事情:

procedure TFormMain.InitRepeat_Background;
var
  P: string;
  R: TMyRetrieveFileResult;
begin
  P := '';
  if ((P = '') and (FScreenOrientation = TScreenOrientation.soPortrait)) then
    begin
      P := 'app_background_480x800.png';
    end
  ;
  if ((P = '') and (FScreenOrientation = TScreenOrientation.soLandscape)) then
    begin
      P := 'app_background_800x480.png';
    end
  ;
  if (P <> '')then
    begin
      R := TMyRetrieveFileResult.Create(FBitmapBuffer, '', 0, -1);
      ReadGenericBitmapOffline(R, '', P);
      if R.Found then
        begin
          ImageBackground.Bitmap.Assign(R.BitmapRef);
          ImageBackground.WrapMode := TImageWrapMode.iwStretch;
        end
      ;
    end
  ;
end;

然而,拉伸的东西并不是最漂亮的(也不是最丑的,但仍然如此)。有什么方法可以检测到要显示的最佳背景图像(来自“启动图像池”)作为背景?

我想我可以尝试检测特定设备或...尝试检测最接近的屏幕分辨率?或者也许有一个我可以使用的 API(无论 Delphi 使用什么来选择启动时的启动图像?)

4

0 回答 0