Image r := FindNext(aSearchRec); // знайти наступний файл
if r = 0 then// ще є файли ілюстрацій
Forml.Button1.Enabled := True;
end;
end;
// вивести наступну ілюстрацію
ProcedureNextPicture();
var
r : integer;
Begin
aFile := aPath + aSearchRec.Name;
Forml.Image1.Picture.LoadFromFile(aFile);
Scalelmage;
// підготуємо висновок наступної ілюстрації
r := FindNext(aSearchRec); // знайти наступний файл
ifr<>0
then// більше немає ілюстрацій
Forml.Buttonl.Enabled := False;
end;
procedureTForml.FormActivate(Sender: TObject);
Begin
Image1.AutoSize := False; // заборона автозміни розміру компонента
Image1.Stretch := True; // дозвіл на масштабування
// запам'ятаємо первісний розмір області виводу ілюстрації
iw := Imagel.Width;
in := imagel.Height;
Button1.Enabled := False; // зробимо недоступної кнопку Далі
FirstPicture; // вивести першу ілюстрацію
end;
//щиглик на кнопці Далі
procedureTForm1.Button1Click(Sender: TObject);
Begin
NextPicture;
end;
End.
Програма виконує масштабування виведених ілюстрацій без спотворень, чого не можна домогтися простим присвоєнням значення True властивості strech. Завантаження і вивід першої й іншої ілюстрацій виконують відповідно процедури FirstPicture і NextPicture. Процедура FirstPicture використовує функцію FindFirst для того, щоб одержати ім'я першого BMP-файлу. Як параметри функції FindFirst передаються:
ім'я каталогу, у якому повинні знаходитися ілюстрації;
структура asearchRec, поле Name якої, у випадку успіху, буде містити ім'я файлу, що задовольняє критерію пошуку;
маска файлу ілюстрації.
Якщо в зазначеному при виклику функції FindFirst каталозі є хоча б один BMP-файл, значення функції буде дорівнює нулю. У цьому випадку метод LoadFromFiie завантажує файл ілюстрації, після чого викликається функція scaleImage, що встановлює розмір компонента пропорційно розміру ілюстрації. Розмір завантаженої ілюстрації можна одержати, звернувшись до властивостейForm1.Image1.Picture.Width і Form1.Image1.Picture.Height, значення яких не залежать від розміру компонента Image.
Бітові образи
При роботі з графікою зручно використовувати об'єкти типу TBitMap (бітовий образ). Бітовий образ являє собою, що знаходиться в пам'яті комп'ютера, і, отже, невидиму графічну поверхню, на якій програма може сформувати зображення. Зміст бітового образа (картинка) легко і, що особливо важливо, швидко може бути виведене на поверхню чи форми області висновку ілюстрації (image). Тому в програмах бітові образи звичайно використовуються для збереження невеликих зображень, наприклад, картинок командних кнопок.
Завантажити в бітовий образ потрібну картинку можна за допомогою методу LoadFromFlie, указавши як параметр ім'я BMP-файлу, у якому знаходиться потрібна ілюстрація.
Наприклад, якщо в програмі оголошена перемінна pic типу TBitMap, те після виконання інструкції
pic.LoadFromFiie('с:\images\aplane.bmp')
бітовий образ pic буде містити зображення літака.
Вивести вміст бітового образа (картинку) на поверхню чи форми області висновку ілюстрації можна шляхом застосування методу Draw до відповідного властивості поверхні (canvas). Наприклад, інструкція