|
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
Перемещение большой картинки как в просмотрщиках изображений06.04.2016, 14:49. Показов 4405. Ответов 30
Метки нет (Все метки)
Есть картинка загруженная в PictureBox, занимающий всю форму. Картинка имеет размеры гораздо больше экрана монитора. Как её пермещать (чтобы просмотреть недоступные участки изображения) зажав кнопку мыши (как в графическом редакторе).
0
|
|
| 06.04.2016, 14:49 | |
|
Ответы с готовыми решениями:
30
Как задать плавное перемещение картинки в PictureBox (или перемещение самого PictureBox) из точки А в точку Б по прямой? Как вырезать из большой картинки фрагмент по заданным координатам? |
|
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
| 14.04.2016, 14:35 [ТС] | |
|
ovva, попробовал Ваш вариант с картинкой средних размеров. Изображение сильно дёргается как при скроллировании, так и при перетаскивании. Прилагаю проект. Там только картинка моя, остальное всё Ваше (названия некоторых переменных изменены для лучшего восприятия). Может подскажете другой путь. Может таскать не изображение, а сам PictureBox. Как-то этож делают в графических просмотрщиках.
0
|
|
| 14.04.2016, 23:29 | |
|
jkrnd,
• Какой смысл переписывать класс в код формы? Как правило, поступают наоборот, стараются инкапсулировать сущности. • Укажите в Form1_Load PictureBox1.SizeMode = PictureBoxSizeMode.Normal (чтобы компенсировать непонятно зачем установленное в свойствах StretchImage). Здесь же Me.DoubleBuffered = True. • В Paint закомментируйте If xPos2 > 0 Then df() и If yPos > 0 Then df(). • Событие Paint происходит многократно и имеет смысл заменить bmp.Width, bmp.Height, PictureBox1.DisplayRectangle.Width(), PictureBox1.DisplayRectangle.Height() на некоторые переменные, определяемые при загрузке формы. Хотя при компиляции оптимизатор, скорее всего сам проделает эти манипуляции, но лучше перестраховаться. • "другой путь" не знаю. Здесь скорее вопрос в деталях. Как появится больше времени, я вернусь к этой теме. • "Может таскать не изображение, а сам PictureBox". Выложите код и тогда можно будет обсуждать.
1
|
|
|
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|||
| 15.04.2016, 07:25 [ТС] | |||
|
ovva, спасибо за советы, тут дело ещё в производительности машины.
0
|
|||
|
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
| 15.04.2016, 09:44 [ТС] | |
|
исходник к посту #10
0
|
|
| 17.04.2016, 14:57 | |
|
jkrnd,
1. Еще один вариант (myPB.rar). Код иной, но с тем же смыслом. 2. Нашел проект (http://www.codeproject.com/Tips/889022/Image-Box). Все та же идея, но с несколько перегруженным кодом. Вы можете использовать какие-то части этого кода для своих целей. После компиляции получаете небольшую DLL (20 Кб). Прилагаю пример возможного использования этой библиотеки (usingDLLImageBox.rar). 3. На сложных и объемных растрах эффекты задержки рендеринга изображения наблюдаются в обоих проектах (хотя, на мой взгляд, и незначительные). Причина не в общей идеи, а скорее в используемых инструментах. Все-таки GDI+ не отличается быстрой графикой, и в частности, поэтому для игр обычно используют другие средства.
1
|
|
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|
| 19.04.2016, 20:50 | |
|
ovva, jkrnd, интересную тему вы развили, давно хотел такой пикчур сделать себе, да все руки не доходили... Но все же я склоняюсь к моему варианту с использованием перемещения самого контрола, его масштабирование и так далее, так как он поддерживает анимационные GIF изображееия... К тому же визуального отличия от вашего варианта вы не увидите, но в нем никакой работы с графикой
![]() Осталось докрутить выход за границы и еще добавить фичу - при масштабировании колесиком увеличивать и уменьшать картинку так, чтобы точка картинки находящаяся под курсором, не улетала бог знает куда, а так и оставалась под курсором, тоесть тоже самое, что было реализовано в стандартном Windows Image Viewer... Как доделаю - сктну сюда в тему
1
|
|
|
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
| 19.04.2016, 21:01 [ТС] | |
|
Yury Komar, Жду с нетерпением
![]() Добавлено через 1 минуту сейчас использую последний PictureBox от ovva - это лучшее!
0
|
|
|
Модератор
4372 / 3442 / 512
Регистрация: 27.01.2014
Сообщений: 6,266
|
|
| 19.04.2016, 21:24 | |
|
попробую сделать аналог, но с другим принцыпо работы, по-проще
![]() а вы их сравните
1
|
|
| 20.04.2016, 00:03 | |
|
Yury Komar,
Проект http://www.codeproject.com/Tips/889022/Image-Box поддерживает GIF анимацию.
2
|
|
|
47 / 47 / 7
Регистрация: 26.12.2014
Сообщений: 189
|
|
| 20.04.2016, 04:29 | |
|
0
|
|
| 20.04.2016, 04:29 | |
|
Поиск и сохранение изображений от Google.Картинки и Яндекс.Картинки Как сделать плавное перемещение картинки в обе стороны Как сформировать цикличное перемещение картинки по странице сайта? Как сделать JS перемещение картинки справа налево и хаотично и повторять Как сделать перемещение картинки по координатам, при нажатии на ссылку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|