Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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. А вот касательно собственно лупы... Если картинка векторная, всё просто. А вот если растровая, результат изменения ее размеров в любую сторону может сильно разочаровать. В принципе, есть несколько аглоритмов масштабирования растров (можно поискать по Сети), но все они имеют достаточно ограниченные возможности.


Наверх

Титульная страница Поиск, карта сайта Написать письмо