Jgynm проблема с рисунками

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Jgynm проблема с рисунками

Сообщение neic » 19.05.2005 (Чт) 21:27

Как сделать так чтобы загруженный рисунок принимал размеры Picture1?

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 19.05.2005 (Чт) 22:54

AutoSize установи в true но тогда PictureBox примит размер картинки. А для втискивания картинки в PictureBox используй PaintPicture или BitBlt (это работает быстрей API функия)

Короче читайте про PaintPicture и BitBlt :wink: :lol:
Последний раз редактировалось Александр80 19.05.2005 (Чт) 23:11, всего редактировалось 1 раз.

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 19.05.2005 (Чт) 23:07

Кинь на форму четыре элемента 2 PictureBox, 1 TextBox и 1 кнопка :wink:
в моем варианте в Picture1 = картинка уменьшается на 50 "Text1.Text = "50" "процентов от картинки размещенной в Picture2.


Код: Выделить всё
Private Sub Command1_Click()
Picture2.Picture = LoadPicture("C:\1.jpg")



Text1.Text = "50" ' Попробуй убрать это и вводить значения в ручную



 
  Dim SrcWidth As Single, SrcHeight As Single
  Dim DestWidth As Single, DestHeight As Single
 
  SrcWidth = Picture2.ScaleWidth
  SrcHeight = Picture2.ScaleHeight


    DestWidth = SrcWidth * (Val(Text1.Text) / 100)
    DestHeight = SrcHeight * (Val(Text1.Text) / 100)

Picture1.PaintPicture Picture2, 0, 0, DestWidth, DestHeight, 0, 0, SrcWidth, SrcHeight, vbSrcCopy
End Sub

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 20.05.2005 (Пт) 15:27

Александр80 ты понял всё наоборот! Мне нужно чтобы НЕ Picture1 прнимал значения римунка, а рисунка значения Picture1

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

Сообщение Шурик » 20.05.2005 (Пт) 15:36

Тогда юзай Image или если я не ошибаюсь, то StrechBlt

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 20.05.2005 (Пт) 16:25

neic писал(а):Александр80 ты понял всё наоборот! Мне нужно чтобы НЕ Picture1 прнимал значения римунка, а рисунка значения Picture1


:roll: В моем примере оба варианта, подумай немного и все будет ок... :wink:

1- Picture2 принимает значение рисунка (прости забыл сказать AutoSize надо установить в true и его можно сделать невидимым)

2 - Picture1 принимает заданный размер в % от загруженной картинки (Picture2). Размер в процентах можно вводить в Text1.Text.

Все картинки могут иметь разный размер, определи размер загруженной картинки (Picture2) и вычисли соотношение Picture1 и Picture2 (X и Y). Найди процентное соотношение и в Picture1 ты сможешь отобразить картинку нужного тебе размера (Picture1 может и не менять свой размер, хотя может и менять все зависит от тебя...)
:wink:


Идею я тебе подкинул, а дальше думай сам мне кажется, что нужно работать с PaintPicture или BitBlt, StrechBlt ... :roll: Решать тебе!!!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 181

    TopList