Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
18 / 13 / 0
Регистрация: 16.09.2014
Сообщений: 302
1

Перемещение PictureBox по прямой - скорость

18.12.2018, 10:40. Показов 879. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Делаю перемещение PictureBox по прямой, начальные координаты x1,y1 конечные x2,y2:

VB.NET
1
2
3
4
5
6
7
'y = y1 + (y2 - y1) * (x - x1) / (x2 - x1)
For i = x1 To x2 Step -1 '
     picFly.Left = i
     picFly.Top = y1 + (y2 - y1) * (i - x1) / (x2 - x1)
     picFly.Refresh() '
     Stock.Refresh()
Next i
чтобы не получалось артефактов как на скриншоте, приходится рефрешить панель Stock

Есть какие-нибудь "лекарства" для такой болезни?
Может BlitBlt? Запоминать кусок экрана, ставить на это место рисунок, возвращать кусок экрана и т.д?
Миниатюры
Перемещение PictureBox по прямой - скорость  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2018, 10:40
Ответы с готовыми решениями:

Как организовать перемещение формы за PictureBox?
Здравствуйте. Подскажите, пожалуйста, решение моей задачи. Я хочу сделать перетаскивание формы за...

Перемещение PictureBox с ограничением области перемещения
Здравствуйте. Хотел написать код, для перемещения PictureBox в указанной области. Сам написать не...

Перемещение большой картинки мышкой внутри PictureBox
Всем привет. Есть Панель на которой расположен PictureBox, в него загружается картинка большого...

Как отследить перемещение мыши с нажатой кнопкой за пределы PictureBox?
Всем здравствуйте. Есть отмасштабированное в логических координатах графическое окно с белым...

8
18 / 13 / 0
Регистрация: 16.09.2014
Сообщений: 302
18.12.2018, 10:47  [ТС] 2
чтобы не получалось артефактов как на скриншоте, приходится рефрешить панель Stock -скорость не устраивает. Изменял Step, но при удовлетворительной скорости теряется плавность хода...
0
1514 / 905 / 328
Регистрация: 17.05.2015
Сообщений: 3,417
18.12.2018, 12:29 3
giaber, для того чтобы рисовать изображение по координатам, пикчербокс не нужен.
Он тяжелый и медленный, вы их еще по форме носите.
у GDI+ есть чудесный метод DrawImage, вот им и пользуйтесь. Бонусом вам будет плавность хода, скорость работы и отсутствие артефактов.
1
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
18.12.2018, 16:01 4
giaber, Если это продолжение вашей прошлой темы, то создавайте окно и двигайте его без проблем.
Не забывайте только, что координаты читать и писать нужно будет глобально.
1
18 / 13 / 0
Регистрация: 16.09.2014
Сообщений: 302
18.12.2018, 16:31  [ТС] 5
2bbbw
Да, следующий этап той же темы. И да, действительно, чего я заморачиваюсь! Ваше предложение снимает проблему! Координаты по-любому приходилось переводить в глобальные - в процессе участвуют картинки 2-3 уровня глубины подчинённости, то-есть в контейнере контейнер и в нём сидят картинки. Кликается на картинке из контейнера, но перемещал картинку, дочернюю форме. Имитация перемещения картинки из контейнера в контейнер

Рядовой, bbbw - спасибо большое!

ЗЫ
Но и DrawImage надо освоить!
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
18.12.2018, 17:23 6
giaber,
Цитата Сообщение от giaber Посмотреть сообщение
в процессе участвуют картинки 2-3 уровня глубины подчинённости, то-есть в контейнере контейнер и в нём сидят картинки.
Не имеет значения.
0
18 / 13 / 0
Регистрация: 16.09.2014
Сообщений: 302
18.12.2018, 18:26  [ТС] 7
Цитата Сообщение от bbbw Посмотреть сообщение
создавайте окно
я вообще-то засомневался - адекватно ли я вас понял своим ламерским умишком: я понял что имеется ввиду окно-форма, так ли это?
0
169 / 99 / 25
Регистрация: 07.08.2016
Сообщений: 382
Записей в блоге: 1
18.12.2018, 18:32 8
giaber, так.
0
18 / 13 / 0
Регистрация: 16.09.2014
Сообщений: 302
18.12.2018, 18:34  [ТС] 9
спасибо!
0
18.12.2018, 18:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2018, 18:34
Помогаю со студенческими работами здесь

Взаимодействие мыши с массивом PictureBox - перемещение, изменение картинки при наведении
Я создаю пошаговую стратегию и мне нужно чтобы когда я проводил мышью по picturebox'ам они меняли...

Перемещение PictureBox ов
Привет. Я в интернете нашел функцию, которая передвигает PictureBox'ы по форме, не выходя за ее...

Перемещение фигур в PictureBox
Помогите, пожалуйста. Никак не могу сделать выделение фигур с последующим их перемещением по...

Перемещение изображения в PictureBox
Доброго времени суток! 8-) - Имеется джостик подключенный к ПК через COMPort; - В программе...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru