Поиск сообщества
Показаны результаты для тегов 'zoom'.
Найдено: 3 результата
-
Вопрос: как определить, какое именно действие совершает пользователь - увеличивает или уменьшает? Ответ: на примере сэмпла, поставляемого в комплекте с Delphi, в файле C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Mobile Snippets\InteractiveGestures\ImageZoom\ImageZoomU.pas можно попробовать заменить одну часть процедуры: begin { zoom the image } LImage := TImage(LObj.GetObject); LImageCenter := LImage.Position.Point + PointF(LImage.Width / 2, LImage.Height / 2); LImage.Width := LImage.Width + (EventInfo.Distance - FLastDistance); LImage.Height := LImage.Height + (EventInfo.Distance - FLastDistance); LImage.Position.X := LImageCenter.X - LImage.Width / 2; LImage.Position.Y := LImageCenter.Y - LImage.Height / 2; end; на другую: begin { zoom the image } if EventInfo.Distance > FLastDistance then showmessage('zoom in') else showmessage('zoom out'); end; Что с этим делать дальше — думаю, объяснять излишне. Если кто знает более элегантное решение, не основанное на вычислении дистанции, — смело делитесь, не стесняйтесь.
-
Есть ли возможность при использовании MapView и при наличии нескольких маркеров на нем, посчитать оптимальный Location и Zoom mapview'a? Чтобы поместилось как можно больше маркеров. Вроде как на javascript это делается с помощью такого кода: var latlngbounds = new google.maps.LatLngBounds(); for (var i = 0; i < markerslat.length; i++) { latlngbounds.extend(markerslat[i]); } map.fitBounds(latlngbounds); Использование WebBrouser не подходит. Может у кого-то есть что сказать по этому поводу?
-
Помогите рабочим примером масштабирования компонентов (меня интересует TImage) пальцами. Я так понимаю надо включить опцию Touch -> InteractiveGesture -> Zoom, и обрабатывать событие OnGesture. А вот дальше у меня беда, в EventInfo есть координата только одного пальца, и как корректно масштабировать компонент я не понимаю... Помогите примером, пожалуйста