0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 18
1

Как сделать Zoom (масштабирование) изображений

03.04.2016, 21:25. Показов 4401. Ответов 5
Метки нет (Все метки)

Всем привет. Сделал обозреватель изображений, все норм, но не знаю как можно приблизить картинку используя Батоны или трэкбар.
Если можете подсказать, то желательно используя трекбар. Пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2016, 21:25
Ответы с готовыми решениями:

Как сделать zoom
Есть ли в Лазарус какие-то стандартные инструменты для реализации Zoom? (интересует изменение...

Как сделать zoom эффект для изображений добавленных через редактор?
Посоветуйте, плиз, плагин, добавляющий функцию "image zoom", при наведение на картинки, в редактор...

Масштабирование элемента (zoom) по ширине родителя
Добрый день. Возникла проблемка с масштабированием элемента. Хочу применить к нему автоматический...

Как изменить Zoom Lvl в плагине WP IMAGE ZOOM
Мне нужно увеличить размер картинки при наведении на неё . В настройках плагина это функция есть ,...

5
591 / 543 / 206
Регистрация: 24.01.2012
Сообщений: 1,338
04.04.2016, 08:57 2
Можно так: у TImage выставить свойства stretch и proportional в true , а затем менять размер самого TImage
Pascal
1
2
3
4
5
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  image1.width:=trackbar1.Position;
  image1.height:=trackbar1.Position;
end;
1
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 18
04.04.2016, 16:34  [ТС] 3
Хорошо, вроде разобрался, но теперь он увеличивает изображение постоянно, даже если увожу трекбар до 0, через For 1 to 10 не получается.
Pascal
1
2
3
4
for TrackBar1.Position:=1 to 10 do begin
 image1.Width:=Image1.Width+500;
 image1.height:=Image1.Height+500; 
end;
ошибку выдает, что не может быть как For.
0
591 / 543 / 206
Регистрация: 24.01.2012
Сообщений: 1,338
04.04.2016, 17:02 4
что-то я не понял: зачем нужен цикл? Вообще по первому вопросу я подумал, что нужно масштабировать изображение при помощи trackbar. А использовать свойство компонента в качестве счетчика цикла не получится.
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 18
04.04.2016, 17:10  [ТС] 5
Pascal
1
2
3
4
5
6
7
8
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  if TrackBar1.Position=0 then Image1.Align:=alClient else image1.Align:=alCustom;
    if TrackBar1.Position=0 then Image1.Center:=true else Image1.Center:=False;
    image1.Width:=Image1.Width+500;
  image1.height:=Image1.Height+500;
end;
end.
Вот код, когда двигаешь ползунок трек бара, он приближает, все нормально, но когда двигаешь обратно до нуля, он все еще приближает, так как срабатывает *+500.вот надо чтоб в обратном было -500 на каждую позицию, и не знаю как сделать...
0
591 / 543 / 206
Регистрация: 24.01.2012
Сообщений: 1,338
04.04.2016, 18:56 6
А чем не устраивает тот код, что я привел в пример? достаточно trackbar.max назначить большое число, например 8000 и можно менять размер изображения от 1х1 до 8000х8000
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2016, 18:56
Помогаю со студенческими работами здесь

Как сделать Zoom в компоненте ZedGraph?
Доброго времени суток бойцы!! Строю графики в компоненте ZedGraph , столкнулся с вопросом о...

Как сделать Zoom картинки в Image ???
Помогите, пожалуйста. Как сделать zoom in ImageBox?

Как сделать Zoom и поставить метку над определённой свечой?
Здравствуйте, с горем пополам вродь сделал график!... Но столкнулся с проблемой, как увеличивать...

Масштабирование изображений
Всем доброго времени! Не могу никак совладать с масштабированием изображений. Есть кнопка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru