2015-08-17 4 views
0

Я столкнулся несколько вопросов следующим образом -Inno Устан.пиктогр.жанра размыты

  1. После установки [Setup] SetupIconFile = полный путь значок и используя стандартный значок 128 пикселей, чтобы сделать Inno настройки установки. Здесь я нашел - значок файла установщика Inno, значок приветствия на верхнем левом углу маленькая иконка и значок панели задач размыты по разрешению 1920 X 1080 & 125% точек на дюйм, что по умолчанию для моей машины.

  2. Также я нашел WizModernImage.bmp & Изображения WizModernSmallImage.bmp немного размыты на всех страницах установки.

Пожалуйста, дайте мне знать, -

а. Любой способ показать правильное изображение в верхнем левом углу маленькой иконки.

b. Любая настройка/опция для отключения или отсутствия приветствия на верхнем левом углу приветствия.

c. В любом случае, чтобы показать WizModernImage.bmp & WizModernSmallImage.bmp изображения в соответствии с разрешением/dpi.

спасибо.

С уважением, Шаши

+0

Добро пожаловать в SO. Не могли бы вы разместить некоторые из своих кодов? – James

ответ

0

Для того, чтобы установить пользовательские BMP для каждого DPI вы должны переопределить поведение по умолчанию. Простой пример:

[Setup] 
AppName=My Program 
AppVersion=1.5 
DefaultDirName={pf}\My Program 

[Files] 
Source: ".\custom_bg\*"; DestDir: "{tmp}"; Flags: dontcopy nocompression; 
;sample names, corresponding to code: 
;wizard_96.bmp, wizard_120.bmp, wizard_144.bmp, wizard_168.bmp 
;wizard_small_96.bmp, wizard_small_120.bmp, 
;wizard_small_144.bmp, wizard_small_168.bmp 

[Code] 
var 
    DPIValString: String; 

procedure CheckDPI; 
    var 
     CurrentDPI, StandardDPI, MediumDPI, LargeDPI, UltraDPI: Integer; 
    begin 
     // Get the current DPI 
     CurrentDPI := WizardForm.Font.PixelsPerInch; 

     // Store defaults determined from Windows DPI settings 
     StandardDPI := 96; // 100% 
     MediumDPI := 120; // 125% 
     LargeDPI := 144; // 150% 
     UltraDPI := 168; // 175% introduced by Windows 10 

     if (CurrentDPI >= StandardDPI) and (CurrentDPI < MediumDPI) then 
     begin 
      DPIValString := '_96'; 
     end 
     else if (CurrentDPI >= MediumDPI) and (CurrentDPI < LargeDPI) then 
     begin 
      DPIValString := '_120'; 
     end 
     else if (CurrentDPI >= LargeDPI) and (CurrentDPI < UltraDPI)then 
     begin 
      DPIValString := '_144'; 
     end 
     else if (CurrentDPI >= UltraDPI) then 
     begin 
      DPIValString := '_168'; 
     end; 
    end; 

procedure InitializeWizard; 
begin 
    CheckDPI; 
    ExtractTemporaryFile('wizard' + DPIValString + '.bmp'); 
    ExtractTemporaryFile('wizard_small' + DPIValString + '.bmp'); 
    if (FileExists(ExpandConstant('{tmp}\wizard' + DPIValString + '.bmp'))) 
    and (FileExists(ExpandConstant('{tmp}\wizard_small' + DPIValString + '.bmp'))) 
    then begin 
    with WizardForm.WizardSmallBitmapImage do 
     Bitmap.LoadFromFile(ExpandConstant('{tmp}\wizard_small' + DPIValString + '.bmp')); 
    with WizardForm.WizardBitmapImage do 
     Bitmap.LoadFromFile(ExpandConstant('{tmp}\wizard' + DPIValString + '.bmp')); 
    end; 
end; 
+0

Благодарим RobeN за ваш ответ, и он работает для WizardBitmapImage. Но не пытайтесь сделать такой же способ для WizModernSmallImage.bmp. Пожалуйста, дайте мне знать о том, как установить WizModernSmallImage.bmp в соответствии с DPI. Спасибо - Shashi –

+0

Просто добавьте определенные изображения для 'WizardSmallImageBitmap' - я обновил приведенный выше пример. – RobeN

Смежные вопросы