|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Масштабирование изображения скроллом
Пытаюсь сделать масштабирование как в фотошоп или солидворкс т.е. по FormMouseWheelDown\Up изображение увеличивается\уменьшается, при этом изображение (видимая в окне часть) позиционируется в зависимости от положения курсора.
Вопрос с какого бока подойти к решению, какие компоненты использовать. Что-то такое набросал, понятно что "шляпа", у меня ощущение что вообще не с той стороны захожу Код:
procedure TForm2.FormMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin Image1.Picture.Bitmap.SetSize(Image1.Picture.Bitmap.Width+10, Image1.Picture.Bitmap.Height+10); end; procedure TForm2.FormMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); begin Image1.Picture.Bitmap.SetSize(Image1.Picture.Bitmap.Width-10, Image1.Picture.Bitmap.Height-10); end; |
#2
|
|||
|
|||
На форму кидаем TScrollBox, на него TPicture. При загрузке картинки ставим размер TPicture в размер картинки. TPicture.Stretch = True.
В твокм коде убираем строки 5 и 12 (нам не надо переразмеривать сам битмап, только контейнер, а уж он за счет Stretch отрисует картинку с масштабированием). Должно работать. Положение при масштабировании по курсору уж как-нить сам пропишешь, там надо будет просто у ScrollBox'а выставлять смещении, если я не ошибаюсь... |
Эти 2 пользователя(ей) сказали Спасибо lmikle за это полезное сообщение: | ||
olegivanov142 (22.09.2021),
Помидоркин (21.01.2021)
|
#3
|
||||
|
||||
Смотрите компоненты ImageEn. Там такое есть, и не только.
|
Этот пользователь сказал Спасибо Guaho за это полезное сообщение: | ||
Помидоркин (21.01.2021)
|
#4
|
|||
|
|||
Цитата:
|
#5
|
|||
|
|||
Цитата:
|
#6
|
|||
|
|||
Цитата:
Я вместо этого играю в игровые автоматы Супер Слотс на деньги и выигрываю. Умножил банк уже в несколько раз и не собираюсь на этом останавливаться, в планах начать играть в покер, тоже на сайте супер слотс. Всё таки автоматы, автоматами, но иногда хочется и с живыми людьми поиграть в карты. |
#7
|
|||
|
|||
Ну, вообще-то, именно так у меня в одной программе и работает.
Что-то ты не так делаешь. |
#8
|
||||
|
||||
А в чём ошибка?
Последний раз редактировалось gijog, 17.02.2022 в 16:38. |
#9
|
|||
|
|||
Цитата:
Ну а я откуда знаю. Полный код то никто не выложил... |