我希望将启动图像重复用作我的应用的背景。目前我正在做这样的事情:
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在启动时选择启动图像?)