Масштабирование PictureBox

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TAlex
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 16.06.2003 (Пн) 11:39
Откуда: г.Харьков, Украина

Масштабирование PictureBox

Сообщение TAlex » 07.07.2004 (Ср) 14:40

Есть объект PictureBox с нарисованной картинкой. Нужно сделать его масштабирование, чтобы можно было выбрать масштаб, появлялись полосы прокрутки...

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 10.07.2004 (Сб) 13:20

А это что, ACDSee(RU) будет? :wink:
Работы здесь много, и простых рецептов ждать не стоит. Я бы делал так:
1) создаешь на фоме пикчурбокс фиксированного размера, а в нем - второй пикчур, как в контейнере. По прокрутке скроллов меняешь положение второго пикчура в первом.
2) Для масштабирования - схоронял бы изображение в "рукотворный" DC и, задав соответственно масштабу размеры второго пикчура из предыдущего пункта, рисовал бы его туда (примеров на форуме уйма, ориентируйся на BitBlt и StretchBlt).
Листинги не горят!

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 10.07.2004 (Сб) 13:45

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:04, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 14.07.2004 (Ср) 13:49

Код: Выделить всё
Option Explicit

Private Sub Form_Load()
HScroll1.Left = 0
HScroll1.Width = Picture1.Width - VScroll1.Width
HScroll1.Top = Picture1.Height - HScroll1.Height

VScroll1.Top = 0
VScroll1.Height = Picture1.Height - HScroll1.Height
VScroll1.Left = Picture1.Width - VScroll1.Width

VScroll1.Max = Picture2.Height
HScroll1.Max = Picture2.Width

VScroll1.LargeChange = Picture1.Height
HScroll1.LargeChange = Picture1.Width

Picture2.Left = 0
Picture2.Top = 0
End Sub

Private Sub HScroll1_Change()
Picture2.Left = 0 - HScroll1.Value
End Sub

Private Sub VScroll1_Change()
Picture2.Top = 0 - VScroll1.Value
End Sub

Вот еще здесь посмотри http://www.vbrussian.com/Article.asp?ID=61


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 19

    TopList  
cron