Страница: 1 |
Вопрос: Градиент | Добавлено: 07.06.06 10:21 |
Автор вопроса: ![]() |
Давно задумался над вопросом, тока вот ща вспонил его :)
Чтобы сделать градиент из одного цвета в другой? Найти разницу м/у r, g и b и плавно из изменять? Или как-то подругому? |
Ответы | Всего ответов: 7 |
Номер ответа: 1 Автор ответа: ![]() ![]() Вопросов: 0 Ответов: 1066 |
Профиль | Цитата | #1 | Добавлено: 07.06.06 10:32 |
GradienrFillRect |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 60 Ответов: 808 |
Профиль | Цитата | #2 | Добавлено: 07.06.06 12:02 |
Tamplier, ты чего?
Короче хелпа у тебя на мыле... |
Номер ответа: 3 Автор ответа: ![]() ![]() Вопросов: 45 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 07.06.06 14:18 |
Dim x0 As Single
Dim Picx() As Single Dim R As Byte, G As Byte, B As Byte Dim k As Single Private Sub Form_Load() ReDim Picx(2) k = 255 / (Picture1(1).ScaleWidth - 1) End Sub Private Sub MovePic(ByVal Index As Integer) Picture1(Index).Line (Picx(Index) + 0, 0)-(Picx(Index) + 4, Picture1(Index).ScaleHeight - 1), , B Picture1(Index).Line (Picx(Index) + 1, 1)-(Picx(Index) + 3, Picture1(Index).ScaleHeight - 2), RGB(150, 150, 150), BF End Sub Private Sub Picture1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) If x < Picx(Index) Or x > Picx(Index) + 5 Then Picx(Index) = x - 2 If Picx(Index) < 0 Then Picx(Index) = 0 If Picx(Index) > Picture1(Index).ScaleWidth - 5 Then Picx(Index) = Picture1(Index).ScaleWidth - 5 Picture1_Paint Index End If x0 = x - Picx(Index) End Sub Private Sub Picture1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) Dim i As Integer If Button = 1 Then Picx(Index) = x - x0 If Picx(Index) < 0 Then Picx(Index) = 0 If Picx(Index) > Picture1(Index).ScaleWidth - 5 Then Picx(Index) = Picture1(Index).ScaleWidth - 5 Select Case Index Case 0 R = Picx(Index) * k Case 1 G = Picx(Index) * k Case 2 B = Picx(Index) * k End Select For i = 0 To 2 Picture1_Paint i Next Picture2_Paint End If End Sub Private Sub Picture1_Paint(Index As Integer) For i = 0 To Picture1(1).ScaleWidth - 1 If i < Picx(Index) Or i > Picx(Index) + 4 Then Select Case Index Case 0 Picture1(0).Line (i, 0)-(i, Picture1(0).ScaleHeight), RGB(i * k, G, B) Case 1 Picture1(1).Line (i, 0)-(i, Picture1(1).ScaleHeight), RGB(R, i * k, B) Case 2 Picture1(2).Line (i, 0)-(i, Picture1(2).ScaleHeight), RGB(R, G, i * k) End Select End If Next MovePic Index End Sub Private Sub Picture2_Paint() Picture2.BackColor = RGB(R, G, B) End Sub |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 298742928 Вопросов: 58 Ответов: 340 |
Профиль | Цитата | #4 | Добавлено: 07.06.06 17:32 |
Tamplier, ты чего?
Я программированием не занимался три месяца. Как я проект защищать буду - не знаю... Блин, народ, вам спасибо большое, но у меня одна трабла. У мя ща среда не стоит и проверить никак. И поставить среду никак. Еси не в лом, можете компильнуть и на мыло кинуть? Интересно глянуть. Но еси в ломак, мне не обязательно. Интересно просто. Спасибо еще раз. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 345743490 Вопросов: 42 Ответов: 385 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 07.06.06 17:37 |
Откомпилил, отправил. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 298742928 Вопросов: 58 Ответов: 340 |
Профиль | Цитата | #6 | Добавлено: 07.06.06 17:49 |
Басиба ![]() |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 298742928 Вопросов: 58 Ответов: 340 |
Профиль | Цитата | #7 | Добавлено: 07.06.06 17:52 |
Супер! Еще рас огромное спасибо! |
Страница: 1 |
|