Масштабируемое изображение не отображается на странице приветствия - PullRequest
1 голос
/ 26 мая 2020

У меня есть персонализированные приветственные и sh страницы с разными изображениями. моя проблема в точности похожа на этот вопрос Inno Setup WizardImageFile выглядит плохо с масштабированием шрифта на Windows 7 , и я сослался на это решение, установщик собирает различные изображения на основе масштабирования (если масштабирование составляет 100% тогда он выбирает 100, если 200%, то 200). но я хочу, чтобы он отображался на странице приветствия и на странице fini sh. но 1. Моя страница приветствия выглядит пустой, я хочу, чтобы изображение отображалось на странице приветствия. 2. Изображения отображаются на остальных страницах (например, готовые к установке и другие) в верхнем левом углу: но я не хочу отображать их там. 3. На странице fini sh все выглядит так, как я ожидал. любыми способами?

[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;

Готово к установке: enter image description here

Страница приветствия: enter image description here

1 Ответ

0 голосов
/ 26 мая 2020

Если вы хотите показать масштабированное и растянутое изображение на странице приветствия:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...