Простенькая ? Щаз ! Аж два раза .
Короче, написал я вот такую кяозябру ... ( После энного числа итераций )
Где картинку мучат аж в "четыре прохода" .
- Код: Выделить всё
 //image3 обычная картинка типа TImage на форме
 // Конопка увеличить.
 procedure TForm1.Button1Click(Sender: TObject);
 Const FV:Tform=Nil;
 Im:TImage=Nil;
 begin
 //Создаю форму и картинку
 If FV=nil Then begin
 FV:=Tform.Create(Self);
 Fv.Top := 0;Fv.Left:=0;
 Im:= TImage.Create(FV);
 Im.Align:=alClient;
 Im.Center := True;
 Im.Stretch:=True;
 Im.Proportional:=True;
 FV.InsertControl(Im);
 FV.Color:=LeftPanel.Color;
 Fv.OnKeyDown:=@FV_FormKeyDown;// для закрытия по ESC
 End;
 Im.Picture.Bitmap.SetSize(1,1);
 // просто Im.Picture.Clear; делает что-то не хорошее при повторном вызове .
 // Гружу картинку
 If Image3.Picture.Bitmap<>Nil then begin
 Im.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
 // Стадия "0" Грубый масштаб формы под экран и картинку
 FV.Width:=Min(image3.Picture.Bitmap.Width, Screen.Width);
 FV.Height:=Min(image3.Picture.Bitmap.Height, Screen.Height-100);// (-100 менюшка винды +запас )
 //Стадия '1' Отключаю привязку к форме и подстраиваю видимый размер картинки
 Im.Align:=alNone;
 im.Width:=FV.ClientRect.Width;
 im.Height:=FV.ClientRect.Height;
 // Стадия "2" снова подстраиваю размер окна
 ( "Неестественный чат" на голубом глазу советовал Im.Picture.Width и Height - не работает !)
 FV.Width:=Im.DestRect.Width;
 FV.Height:=Im.DestRect.Height;
 // что это за DestRect понятия не имею но с ним окно на конец "скомпактифицировалось" как надо
 //Стадия '3' Окончательная доводка ! Снова выключаю привязку к форме.
 Im.Align:=alClient;
 FV.Show;
 End;
 end;
Блин! Ну неужели нельзя сделать тоже самое проще
 
  



