Показать сообщение отдельно
  #9  
Старый 05.08.2008, 02:06
diagnost diagnost вне форума
Прохожий
 
Регистрация: 01.08.2008
Сообщения: 19
Репутация: 10
По умолчанию

Да у меня почти один в один (разница в мелочах), дергается только при изменении размера PaintBox. Вот хотел попроще способ найти, а получается надо аналог городить скроллбокса
Код:
procedure PaintWiringImage;
begin
  with Form1 do begin
    PaintBoxImage.Canvas.Draw(0,0,BmpOnScreen);
  end;
end;

procedure ScaleWiringImage;
var
  ViewH, ViewW: integer;
  RScreen: TRect;
begin
  with Form1 do begin
    ViewH := Round(BmpFromFile.Height * TrackBarScaleImage.Position/100);
    ViewW := Round(BmpFromFile.Width * TrackBarScaleImage.Position/100);
    BmpOnScreen.Height:= ViewH;
    BmpOnScreen.Width := ViewW;
    RScreen := Rect(0,0,ViewW,ViewH);
    BmpOnScreen.Canvas.StretchDraw(RScreen, BmpFromFile);

    PaintBoxImage.Height:= ViewH;
    PaintBoxImage.Width := ViewW;

    PaintWiringImage;
  end;
end;
Ответить с цитированием