Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Рисование в PictureBox Добавлено: 17.12.06 16:05  

Автор вопроса:  Oleksiyko
Что надо написать, что бы можно было рисовать в PictureBox как в MS Paint, а потом сохранить рисунок в файл. Или скиньте ссылку на исходник.

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 W[4Fh]LF



Вопросов: 0
Ответов: 187
 Web-сайт: hunger.ru
 Профиль | | #1
Добавлено: 17.12.06 16:23
Код надо написать.

Ответить

Номер ответа: 2
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #2
Добавлено: 17.12.06 16:29
Код надо написать.
Не издевайся над челом))))))
2Oleksiyko - юзаю Line, Circle, PSet, SetPoint,GetPoint,Point и подобную бадью.

Ответить

Номер ответа: 3
Автор ответа:
 Oleksiyko



Вопросов: 7
Ответов: 4
 Профиль | | #3 Добавлено: 17.12.06 17:45
Знаю, что код надо писать, и написал, но чото не работает.
Надо ещё написать, чтобы сохраняло и открывало рисунки, но не знаю как.

Private Sub lblBlack_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblBlue_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblBrown_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblDarkGreen_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblGreen_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblOrange_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblRed_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblSilver_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblSky_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblViolet_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblWhite_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblYellow_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub mnuExit_Click()
Dim R As Integer
R = MsgBox("Are you sure want to exit from the MiniPaint?", vbYesNo + vbQuestion + vbDefaultButton2, "Exit MiniPaint?";)
If R = vbYes Then End
End Sub

Private Sub pctPaint_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Draw = True
pctPaint.CurrentX = X
pctPaint.CurrentY = Y
End If
End Sub

Private Sub pctPaint_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Draw Then
pctPain.Line -(X, Y)
pctPain.Line -(X, Y), pctPaint.ForeColor
End If
End Sub

Private Sub pctPaint_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Drow = False
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 Stars



Вопросов: 41
Ответов: 239
 Профиль | | #4 Добавлено: 17.12.06 20:37
А Beep ты типа по приколу тут используешь:)

Ответить

Номер ответа: 5
Автор ответа:
 Oleksiyko



Вопросов: 7
Ответов: 4
 Профиль | | #5 Добавлено: 17.12.06 20:44
Да :)

Ответить

Номер ответа: 6
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #6
Добавлено: 17.12.06 21:48
Надо ещё написать, чтобы сохраняло и открывало рисунки, но не знаю как.
Savepicture

B открывать через CommonDialog + OpenSwow

Ответить

Номер ответа: 7
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #7
Добавлено: 17.12.06 22:36
Используй такой алгоритм:

Option Explicit
Dim X1 As Single, y1 As Single
Dim X2 As Single, y2 As Single

Private Sub form_MouseDown(Button As Integer, ShIft As Integer, X As Single, Y As Single)

AutoRedraw = True
Line (X1, y1)-(X2, y2)
X1 = X
y1 = Y
AutoRedraw = False

End Sub

Private Sub form_MouseMove(Button As Integer, ShIft As Integer, X As Single, Y As Single)

X2 = X
y2 = Y
Me.Refresh
Line (X1, y1)-(X, Y)

End Sub
Рекомендую, сам работал

Ответить

Номер ответа: 8
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #8
Добавлено: 17.12.06 22:41
Private Sub lblBlack_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblBlue_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblBrown_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblDarkGreen_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblGreen_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblOrange_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblRed_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblSilver_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblSky_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblViolet_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblWhite_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub

Private Sub lblYellow_Click()
Beep
pctPaint.ForeColor = lblBlack.BackColor
End Sub
Для этого существует массив. И моно сделать массив кнопок. ТОгда у тебя все поместится в четырех кнопках
Private Sub lblColor_Click(Index As Integer)
Beep
pctPaint.ForeColor = lblColor(Index).BackColor
End Sub
Вот так ;)

Удачи!

Ответить

Номер ответа: 9
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #9
Добавлено: 17.12.06 22:42
ТОгда у тебя все поместится в четырех кнопках
Я хотел сказать в четырех строчках

Ответить

Номер ответа: 10
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #10
Добавлено: 22.12.06 12:58
picture1.picture=LoadPicture("с:\Pic.bmp";) 'для загрузки картинки

savepicture picture1.Image, "c:\Pic.bmp"'для загрузки картинки

Ответить

Номер ответа: 11
Автор ответа:
 Djon



Вопросов: 61
Ответов: 471
 Web-сайт: www.vk-book.ru
 Профиль | | #11
Добавлено: 22.12.06 13:02
Вместо Beep попробуй
Private Declare Function MuzloPlay Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

MuzloPlay "Муз", 1

Муз- это файл .wav, где чел матом орёт, будет круче. :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам