Inno setup 缩放图像在欢迎页面中不可见

Inno setup 缩放图像在欢迎页面中不可见,inno-setup,pascalscript,Inno Setup,Pascalscript,我有一个定制的欢迎和完成页面上都有不同的图像。 我的问题与这个问题非常相似,我已经提到了这个解决方案 安装程序根据缩放比例拾取不同的图像(如果缩放比例为100%,则选择100;如果缩放比例为200%,则选择200)。 但我希望它应该显示在欢迎页面和完成页面上。但是 1.我的欢迎页面看起来是空的,我希望图像应该显示在欢迎页面中。 2.图像显示在左上角的其余页面(如ready to install和其他页面):但我不想显示在那里。 3.在最后一页,它看起来和我预期的一样。 有办法吗 [Setup]

我有一个定制的欢迎和完成页面上都有不同的图像。 我的问题与这个问题非常相似,我已经提到了这个解决方案 安装程序根据缩放比例拾取不同的图像(如果缩放比例为100%,则选择100;如果缩放比例为200%,则选择200)。 但我希望它应该显示在欢迎页面和完成页面上。但是 1.我的欢迎页面看起来是空的,我希望图像应该显示在欢迎页面中。 2.图像显示在左上角的其余页面(如ready to install和其他页面):但我不想显示在那里。 3.在最后一页,它看起来和我预期的一样。 有办法吗

[Setup]
AppName=My Program
AppVersion=1.5
WizardStyle=modern
DefaultDirName={autopf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
Compression=lzma2
SolidCompression=yes
OutputDir=D:\repos\isetups
DisableWelcomePage=yes
; Use 100% images by default
WizardImageFile= WizardImage 100.bmp,WizardImage 125.bmp
WizardSmallImageFile=WizardSmallImage 100.bmp,WizardSmallImage 125.bmp

[Files]
Source: "MyProg.exe"; DestDir: "{app}"
Source: "MyProg.chm"; DestDir: "{app}"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
Source: "WizardImage *.bmp"; Flags: dontcopy
Source: "WizardSmallImage *.bmp";Flags: dontcopy

[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"

[Code]

function GetScalingFactor: Integer;
begin
if WizardForm.Font.PixelsPerInch >= 192 then Result := 200
else
if WizardForm.Font.PixelsPerInch >= 144 then Result := 150
else
if WizardForm.Font.PixelsPerInch >= 120 then Result := 125
else Result := 100;
end;

procedure LoadEmbededScaledBitmap(Image: TBitmapImage; NameBase: string);
var
Name: String;
FileName: String;
begin
Name := Format('%s %d.bmp', [NameBase, GetScalingFactor]);
log(Name);
ExtractTemporaryFile(Name);
FileName := ExpandConstant(Name);
Image.Bitmap.LoadFromFile(FileName);
//DeleteFile(FileName);
end;

procedure InitializeWizard;
var
WelcomePage: TWizardPage;

begin
WelcomePage := CreateCustomPage(wpWelcome, '', '');
WelcomePageID := WelcomePage.ID;
BitmapImage := TBitmapImage.Create(WizardForm);
BitmapImage.Parent := WizardForm.InnerPage;
BitmapImage.Left := 0;
BitmapImage.Top := 0;
BitmapImage.AutoSize := True;
BitmapImage.Cursor := crHand;
BitmapImage.Visible := False;
begin
{ If using larger scaling, load the correct size of images }
if GetScalingFactor > 100 then
begin
LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage, 'WizardImage');
LoadEmbededScaledBitmap(WizardForm.WizardBitmapImage2, 'WizardImage');
LoadEmbededScaledBitmap(WizardForm.WizardSmallBitmapImage, 'WizardSmallImage');
end;
end;
end;
准备安装:

欢迎页面:

如果要在欢迎页面上显示缩放和拉伸的图像:

  • 此问题的代码将使图像延伸到整个(外部)页面:
  • 要缩放图像,只需按照我对

    缩放不需要任何Pascal代码

如果要在欢迎页面上显示缩放和拉伸的图像:

  • 此问题的代码将使图像延伸到整个(外部)页面:
  • 要缩放图像,只需按照我对

    缩放不需要任何Pascal代码

您希望在欢迎页面上的何处显示图像?你把图像放在“内页”上。欢迎页面上没有内部页面。“我在您的“就绪”页面上也没有看到任何图像。@MartinPrikryl是的,我想在“欢迎”页面上显示图像,如下所示。它正在显示但没有缩放,现在它正在显示空的几乎空白的屏幕。在Ready页面的左上角,你可以看到一个黑匣子,图像被压缩了。我在你的代码中没有看到这个问题的任何代码。你想在欢迎页面的哪里显示图像?你把图像放在“内页”上。欢迎页面上没有内部页面。“我在您的“就绪”页面上也没有看到任何图像。@MartinPrikryl是的,我想在“欢迎”页面上显示图像,如下所示。它正在显示但没有缩放,现在它正在显示空的几乎空白的屏幕。在Ready页面的左上角,你可以看到一个黑匣子,图像被压缩了,我在你的代码中没有看到这个问题的任何代码。