Масштабирование изображения внутри графического блока - PullRequest
1 голос
/ 12 июля 2010

У меня есть блок управления изображением и 2 кнопки управления.У меня есть изображение, отображаемое в графическом окне.

Можно ли увеличить изображение при нажатии кнопок увеличения и уменьшения масштаба?

Или я даже могу поставить полосу прокрутки.Можно ли увеличить изображение в соответствии с движениями полосы прокрутки?

Я использую VB 6.

Ответы [ 2 ]

1 голос
/ 13 июля 2010

Здесь я предполагаю, что вы используете файлы BMP или JPG.

Простой простой метод - поместить элемент управления Image в PictureBox, изначально со свойством Stretch = False.Первоначально, это было бы в верхнем левом углу.После установки свойства Picture для вашего объекта изображения элемент управления Image будет изменен в соответствии с изображением.Сохраните исходную ширину и высоту элемента управления в переменных.Теперь установите Stretch = True.Вы можете увеличить масштаб изображения, используя

img.Move 0, 0, sngWidth * sngMagFactor, sngHeight * sngMagFactor

, где sngMaxFactor = 4!или сколько хотите увеличить.

Восстановить исходный размер с помощью:

img.Move 0, 0, sngWidth, sngHeight

Вы также можете панорамировать увеличенное изображение, изменяя аргументы Left и Top в Move ()способ.

0 голосов
/ 13 июля 2010

Возможно, проще всего использовать две коробки с картинками, одну внутри другой. «Внешний» блок можно рассматривать как окно просмотра во «внутренний» блок, размер которого вы меняете и размещаете по мере необходимости. Эффект будет таким же, но кодирование будет намного проще.

...