![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Zoom? [D7, WinXP]
Calibr © (2006-09-04 14:28:00)Как сделать зумер для Image. Т.Е. чтоб при кручении колеса мыши картинка в Image уменьшалась и увеличивалась в зависимости от того куда крутят колесо. И чтоб при этом не было видно белых полос при перерисовке Image.
Заранее спасибо!!!
C@N (2006-09-04 18:57:00) [1]procedure TForm1.BitBtn2Click(Sender: TObject);//Загрузить картинку )))
begin
Form1.OpenPictureDialog1.Execute;
image1.Picture.LoadFromFile(form1.OpenPictureDialog1.FileName);
Image1.AutoSize:=true;
Image1.AutoSize:=false;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);//Увеличить картинку
begin
image1.Stretch:=true;
Image1.Height:= Image1.Height+10;
image1.Width:=image1.Width+10;
end;
Можно и так )))
PVOzerski (2006-09-04 14:37:00) [2]Ну, касательно полос - можно поиграть со свойством формы DoubleBuffered. Касательно колесика - вешай свой обработчик на WM_MOUSEWHEEL. А вот касательно собственно лупы... Если картинка векторная, всё просто. А вот если растровая, результат изменения ее размеров в любую сторону может сильно разочаровать. В принципе, есть несколько аглоритмов масштабирования растров (можно поискать по Сети), но все они имеют достаточно ограниченные возможности.