Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.77/26: Рейтинг темы: голосов - 26, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
1

Как в PictureBox загрузить картинку

29.02.2012, 21:44. Просмотров 4893. Ответов 21
Метки нет (Все метки)

нужна помощь :

Я ПользоватеЬ запускаю "эту" программу и ...
1)в picturebox вставить картинку из любого места на диске
2) На эту же картинку разместить другую (наложение) и ее перемещать по фоновой карттинке

ну и потом и сохранить (это уж я сам смогу)

P.S только начинаю
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.02.2012, 21:44
Ответы с готовыми решениями:

Как загрузить картинку в PictureBox
Пыталась добавить на форму PictureBox1, а затем в properties импортировать изображение... но ничего...

Как в PictureBox загрузить и показать анимированую картинку?
Подскажите пожалуста как в PictureBox загрузить и показать анимированую картинку из 1.gif

Загрузить картинку в PictureBox по условию
If comp = 2 Then player = player + 1 и чтобы появилась картинка в пикче боксе 2.jpg If...

Не получается загрузить картинку в PictureBox
Здесь брал код: http://msdn.microsoft.com/ru-ru/library/9dtfzwyx(v=vs.90).aspx В моем приложении...

21
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
29.02.2012, 22:29 2
Посмотри
1
Вложения
Тип файла: rar u.rar (91.0 Кб, 91 просмотров)
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
29.02.2012, 22:36 3
-----Извиняюсь, два раза отправил
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
01.03.2012, 14:39  [ТС] 4
Спасибо большое , но не совсем то что я хотел. Мне нужно чтобы картинка вставлялась поверх другого изображения и ее можно было двигать
0
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
01.03.2012, 14:52 5
Самолётик рисуется поверх фона и двигается. Или у тебя не так?
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
01.03.2012, 14:58  [ТС] 6
а как сделать чтобы это было по велению кнопки и ОН не двигался
0
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
01.03.2012, 15:11 7
Цитата Сообщение от denrashodchikov Посмотреть сообщение
а как сделать чтобы это было по велению кнопки и ОН не двигался
Он двигается по таймеру, ты код вытащи из таймера и вставь в кнопку.

Добавлено через 10 минут
Вот этот код вставь вместо старого, и у тебя самолётик будет двигаться при нажатии любой кнопки.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
' инициализация формы
Private Sub Form_Initialize()
   ' загрузка картинки для самолета и фона
   Picture1.BorderStyle = 0
   Picture1.Picture = LoadPicture(App.Path + "\back.bmp") ' Фон
   Picture3.BorderStyle = 0
   Picture3.Picture = LoadPicture(App.Path + "\plane.bmp") 'Самолёт
   Picture3.Visible = False
   
   ' Picture2 - это PictureBox, который обеспечивает
   ' движение самолета. В него загружается изображение
   ' самолета из Picture3 и часть фона из Picture1.
   Picture2.BorderStyle = 0
   Picture2.Height = Picture3.Height
   Picture2.Width = Picture3.Width
   Picture2.Left = Picture1.Left - Picture2.Width
 
   Randomize    ' инициализация генератора случайных чисел
   Picture2.Top = Int((500 * Rnd) + 1) + Picture2.Height
   
   Timer1.Interval = 20
   Timer1.Enabled = False
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Timer1.Enabled = True
End Sub
 
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Timer1.Enabled = False
End Sub
Private Sub Form_Load()
KeyPreview = True
End Sub
 
' обработка сигнала таймера
Private Sub Timer1_Timer()
   Dim dx As Integer, dy As Integer
   Dim npoint       ' цвет точки
   
   Picture2.Visible = False
   
   If Picture2.Left > Picture1.Left + Picture1.Width Then
      Picture2.Left = Picture1.Left - Picture2.Width
      Picture2.Top = Int((500 * Rnd) + 1) + Picture2.Height
   Else
      Picture2.Left = Picture2.Left + 25   ' двигаем картинку
   End If
      
   ' копирование определенной части фона (Picture1)
   ' на Picture2
   Picture2.PaintPicture Picture1.Picture, _
   -Picture2.Left, -Picture2.Top
      
   ' копирование самолета из Picture3 на Picture2
   For dx = 1 To Picture3.Width Step Screen.TwipsPerPixelX
      For dy = 1 To Picture3.Height Step Screen.TwipsPerPixelY
         ' определение цвета точки
         npoint = Picture3.Point(dx, dy)
         ' если цвет точки не белый (RGB(255, 255, 255)),
         ' то копируем точку из Picture3 на Picture2,
         ' т. о. по точкам копируем самолет.
         If npoint <> RGB(255, 255, 255) Then
           Picture2.PSet (dx, dy), npoint
         End If
      Next dy
   Next dx
            
   Picture2.Visible = True
End Sub
1
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
01.03.2012, 15:16  [ТС] 8
а какой код отвечает , за расположение самолетика
0
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
01.03.2012, 15:27 9
Visual Basic
1
2
3
4
   Picture2.Left = Picture1.Left - Picture2.Width
 
   Randomize    ' инициализация генератора случайных чисел
   Picture2.Top = Int((500 * Rnd) + 1) + Picture2.Height
При инициализации формы вот этим кодом самолётик (если точнее, то не сам самолётик, а тот пикчербокс. где он будет нарисован) размещается на случайной высоте за пределами формы с левой стороны.
Visual Basic
1
Picture2.Left = Picture2.Left + 25   ' двигаем картинку
Этим кодом он двигается вправо. Сделаешь -25 будет двигаться влево.
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
01.03.2012, 15:33  [ТС] 10
а вниз и вверх КАК?
0
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
01.03.2012, 15:52 11
Цитата Сообщение от denrashodchikov Посмотреть сообщение
а вниз и вверх КАК?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub Form_Initialize()
   Picture1.BorderStyle = 0
   Picture1.Picture = LoadPicture(App.Path + "\back.bmp") ' Фон
   Picture3.BorderStyle = 0
   Picture3.Picture = LoadPicture(App.Path + "\plane.bmp") 'Самолёт
   Picture3.Visible = False
   Picture2.BorderStyle = 0
   Picture2.Height = Picture3.Height
   Picture2.Width = Picture3.Width
   Picture2.Left = Picture1.Left + Picture2.Width
   Randomize
   Picture2.Top = Int((500 * Rnd) + 1) + Picture2.Height
   Timer1.Interval = 20
   Timer1.Enabled = False
End Sub
Private Sub Form_Keydown(KeyCode As Integer, Shift As Integer)
   Dim dx As Integer, dy As Integer
   Dim npoint       ' цвет точки
   Picture2.Visible = False
   Picture2.PaintPicture Picture1.Picture, -Picture2.Left, -Picture2.Top
  Select Case KeyCode
       Case vbKeyRight: Picture2.Left = Picture2.Left + 25  ' двигаем картинку
       Case vbKeyLeft: Picture2.Left = Picture2.Left - 25
       Case vbKeyDown: Picture2.Top = Picture2.Top + 25
       Case vbKeyUp: Picture2.Top = Picture2.Top - 25
  End Select
 For dx = 1 To Picture3.Width Step Screen.TwipsPerPixelX
      For dy = 1 To Picture3.Height Step Screen.TwipsPerPixelY
            npoint = Picture3.Point(dx, dy)
         If npoint <> RGB(255, 255, 255) Then
           Picture2.PSet (dx, dy), npoint
         End If
      Next dy
   Next dx
   Picture2.Visible = True
End Sub
Private Sub Form_Load()
KeyPreview = True
End Sub
0
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
01.03.2012, 16:02 12
Есть более сложный пример
0
Вложения
Тип файла: rar Пример.rar (157.1 Кб, 16 просмотров)
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
01.03.2012, 16:08 13
И вообще крутой
Жмёшь в программе Mixing => AddPicture, ждёшь пару сек и вот тебе наложение одной картинки на другую
0
Вложения
Тип файла: rar Графический редактор.rar (98.3 Кб, 21 просмотров)
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
01.03.2012, 18:33  [ТС] 14
пасиб большое , у меня еще возникнут вопросы ОТВЕТИШЬ? заранее спасибо)))

Добавлено через 1 час 0 минут
хд))) возникла проблема , как сохранить на один рисунок эти два рисунка
0
440 / 158 / 10
Регистрация: 25.02.2012
Сообщений: 391
Записей в блоге: 2
01.03.2012, 18:43 15
.....
1
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
01.03.2012, 18:45  [ТС] 16
как сохранить эти две картинки в одну
0
440 / 158 / 10
Регистрация: 25.02.2012
Сообщений: 391
Записей в блоге: 2
01.03.2012, 19:43 17
Цитата Сообщение от denrashodchikov Посмотреть сообщение
как сохранить эти две картинки в одну
По какому? По архиву Графический редактор.rar? Тогда так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, _
  ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, _
  ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
 
Private Const SRCCOPY = &HCC0020
 
Private Sub Command1_Click()
  Form1.ScaleMode = 3
  With Pic3
    .ScaleMode = 3
    Call BitBlt(.hdc, 0, 0, .ScaleWidth, .ScaleHeight, hdc, .Left, .Top, SRCCOPY)
    .Picture = .Image
    SavePicture .Picture, "C:\Test.bmp"
  End With
End Sub
1
es geht mir gut
11191 / 4670 / 1172
Регистрация: 27.07.2011
Сообщений: 11,407
01.03.2012, 19:46 18
Цитата Сообщение от denrashodchikov Посмотреть сообщение
ну и потом и сохранить (это уж я сам смогу)
А как же это?

Visual Basic
1
2
3
4
Private Sub Command1_Click()
Picture1.AutoRedraw = True
SavePicture Picture1.Image, App.Path + "\КККККК.bmp"  ' путь
End Sub
упс... Опоздал.
1
440 / 158 / 10
Регистрация: 25.02.2012
Сообщений: 391
Записей в блоге: 2
01.03.2012, 19:54 19
Цитата Сообщение от SoftIce Посмотреть сообщение
Код Visual Basic1
Visual Basic
1
2
3
4
Private Sub Command1_Click()
Picture1.AutoRedraw = True
SavePicture Picture1.Image, App.Path + "\КККККК.bmp" ' путь
End Sub
упс... Опоздал.
Не работает, при таком варианте сохраняется только загруженной рисунок.
0
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 37
01.03.2012, 19:55  [ТС] 20
мне нужно сохранить их так чтобы две картинки сохранились в одну

в общем вот?
0
Вложения
Тип файла: rar 111.rar (304.6 Кб, 13 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2012, 19:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как загрузить картинку из инета?
Как загрузить картинку из инета в image?

Как загрузить часть картинки откуда-нибудь в PictureBox?
Такой, блин, косяк! Использую функцию BitBlt - все в порядке - картинка в PictureBox появляется, а...

Как вставить в PictureBox картинку из базы?
И как вставить? Например картинку,сохраненную в SQL Server в поле типа Image или в MS Access в поле...

Как в PictureBox вывести картинку с прозрачным фоном?
Есть картинка в файле ресурса, необходимо отобразить ее в PictureBox таким образом, чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.