PictureBox 2

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

PictureBox 2

Сообщение Algol » 23.02.2004 (Пн) 16:36

А как мне можно узнать первоначальные размеры картинки в Picture (ну там Width, Height). Очень надо. Please :o
Настоящие программисты пишут коды вручную.

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 23.02.2004 (Пн) 19:35

А вот и функция. Клади на форму Picture1, делай ему Visible = False. Остальное - дело техники:

Код: Выделить всё
Private Sub GetPicInfo (FilePath as String)
On Error Resume Next
Dim lWidth as Long, lHeight as Long, lTmp (1) as Long
   Picture1.Picture = LoadPicture(FilePath)
   lTmp(0) = Picture1.Width
   lTmp(1) = Picture1.Height
   Picture1.AutoSize = True
   lWidth = Picture1.Width \ Screen.TwipsPerPixelX - 4
   lHeight = Picture1.Height \ Screen.TwipsPerPixelY - 4
   Picture1.AutoSize = False
   Picture1.Width = lTmp(0)
   Picture1.Height = lTmp(1)
   MsgBox "Width = " & Trim(Str(lWidth)) & _
   ", Height = " & Trim(Str(lHeight))
End Sub


Пример вызова:
GetPicInfo "<путь к файлу>"
Моду создают модоки, а распространяют модозвоны.

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 23.02.2004 (Пн) 21:37

А можно так сделать :
Нажал на кнопку и у тебя Width повышается на 2, еще нажал >> еще на 2 и т. д. Ну и соответственно и изображение растягивается. :?
Настоящие программисты пишут коды вручную.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 23.02.2004 (Пн) 22:44

Ну да. Используй либо контрол ImageBox, либо PictureBox с апи-функцией StretchBlt (поищи её по форуму или смотри в API-Guide)...

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 24.02.2004 (Вт) 11:22

а вот если я сразу растягиваю рисунок до больших размеров, то рисунок исчезает и остается только фон. Что это такое?
Настоящие программисты пишут коды вручную.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.02.2004 (Вт) 11:46

А чего это вы тут делаете, а? :)

Размеры пикчербокса:
Код: Выделить всё
Picture1.Width
Picture1.Height


Размеры картинки в пикчербоксе
Код: Выделить всё
Picture1.Picture.Width
Picture1.Picture.Height
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 24.02.2004 (Вт) 12:00

Ну и как изменять Width, Height (ну например прибавить на 2). :evil:
Настоящие программисты пишут коды вручную.

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 24.02.2004 (Вт) 14:10

В Picture можно хоть по вертикали или по горизонтали растянуть по нормальному и потом сохранить а? :evil: :evil:
Использовал StretchBlt, после него остаются куски изображения.
Настоящие программисты пишут коды вручную.

Boris_BGB
Флудер-Энтузиаст
Флудер-Энтузиаст
 
Сообщения: 661
Зарегистрирован: 11.12.2002 (Ср) 11:41

Сообщение Boris_BGB » 24.02.2004 (Вт) 15:11

Ну вы мазохисты!
Прибавлять\убавлять размер:
Код: Выделить всё
Private Sub Command1_Click()
Image1.Height = Image1.Height + 2
End Sub

Аналогично с шириной (поменять Height на Width) и убавлением(знак + на -).
SkateBoarding is not a crime!

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 24.02.2004 (Вт) 15:42

Вы че вообще что ли уже...
Boris_BGB писал(а):Прибавлять\убавлять размер:
Код: Выделить всё
Private Sub Command1_Click()
Image1.Height = Image1.Height + 2
End Sub


Мне нужно поменять размер картинки а не Imag`a. Может вы че нибудь мне исправите а? Please :cry:
Вложения
View.rar
(5.48 Кб) Скачиваний: 25
Настоящие программисты пишут коды вручную.

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 24.02.2004 (Вт) 16:09

если бы еще можно было понять, что же это такое
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 24.02.2004 (Вт) 16:16

Ну так там сначала Image был, ну а теперь Picture >> так что надо все переделывать под Picture. :cry:
Настоящие программисты пишут коды вручную.

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 24.02.2004 (Вт) 16:25

Как поменять местоположение Picture на форме? :cry: :cry: :cry:
Настоящие программисты пишут коды вручную.

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 24.02.2004 (Вт) 16:47

боже мой! что же это делается-то? а?
на держи пример наклепаный минут за 10
без применения какил либо API-функций
потому как разобратся в твоем коде - не представляется возможным

вся функциональность реализована в процедуре RedrawPicture

а контролы по форме таскать дык это
Код: Выделить всё
control.Move x, y, [Width], [Height]
где control - имя контрола (например Picture1)
Вложения
picview.zip
маленький пример загрузки картинок и их масштабирования.
(2.4 Кб) Скачиваний: 28
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 24.02.2004 (Вт) 17:46

Если мне сказали это делать, я что виноват что ли. Я же не для себя пишу. :evil: :evil: :evil: А за прогу спасибо. :wink: Но ты все таки скажи Как поменять местоположение Picture на форме?
Настоящие программисты пишут коды вручную.

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 24.02.2004 (Вт) 17:58

ну написал-же
Код: Выделить всё
Picture1.Move x, y, [Width], [Height]
где
Picture1 - имя PictureBox (или любого другого контрола);
x и y - координаты верхнего левого угла контрола;
Width и Height - необязателные ширина и высота контрола
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Algol
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 16.01.2004 (Пт) 22:41
Откуда: Н.Новгород

Сообщение Algol » 24.02.2004 (Вт) 18:03

Значит просмотрел. Увлекся прогой которую ты мне прислал. Thanks :D
Настоящие программисты пишут коды вручную.


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

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

Сейчас этот форум просматривают: PetalBot и гости: 4

    TopList  
cron