Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Ekaterina13
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 22
1

Нарисовать анимированный телевизор, чтобы на экране была картинка или мурашки

09.05.2012, 11:15. Просмотров 2053. Ответов 9
Метки нет (Все метки)

Помогите пожалуйста написать программу по работе с графикой!Нужно нарисовать анимированный телевизор,что бы на экране была картинка или мурашки....очень срочно!помогите пожалуйста!!!!завтра нужно уже сдать,а то зачет не поставят!срочно!
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2012, 11:15
Ответы с готовыми решениями:

Нарисовать анимированный телевизор
Помогите пожалуйста написать программу по работе с графикой!Нужно нарисовать обычный анимированный...

Как сделать, чтобы была заглушка, когда не загружена картинка
как сделать так что бы была заглука когда не загружена картиинка...

Как сделать чтобы картинка на форме меню была цветной
Подскажите пожалуйста как сделать , или укажите в коде . Спасибо package JAVA; import...

Выровнять текст в стилях чтобы картинка была на ровне с ссылкой
Здравствуйте! Мне необходимо выровнять текст в стилях чтобы картинка была на ровне с ссылкой....

CSS Background-image, как сделать чтобы картинка всегда была 100%
Ненавижу верстку, ну вот пришлось, и на первых же порах, запар... <div id="header"> </div> ...

9
SoftIce
es geht mir gut
11162 / 4638 / 1167
Регистрация: 27.07.2011
Сообщений: 11,355
Завершенные тесты: 1
09.05.2012, 12:19 2
Подойдёт? Код мой, так что без недоразумений
2
Миниатюры
Нарисовать анимированный телевизор, чтобы на экране была картинка или мурашки  
Вложения
Тип файла: rar Копия Телевизор.rar (58.7 Кб, 63 просмотров)
Ekaterina13
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 22
09.05.2012, 12:53  [ТС] 3
А можете написать программу,что бы это было более похоже на обычный телевизор,с двумя антенами вверху, а то преподаватель завтра убьет!
0
Памирыч
Почетный модератор
21156 / 8885 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
09.05.2012, 13:19 4
Цитата Сообщение от Ekaterina13 Посмотреть сообщение
что бы это было более похоже на обычный телевизор
на черно-белый "Рекорд" 1970 года выпуска?

Вы имеете ввиду, что телевизор тоже нужно рисовать программно?
2
09.05.2012, 13:19
Ekaterina13
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 22
09.05.2012, 14:20  [ТС] 5
Нужно написать программу и для телевизора,обычного,не ЖК...что бы были и кнопки,похожий примерно на тот,что вы сказали

Добавлено через 53 минуты
вот программа на Pascal ABC..-ВОТ ТАКОЙ НУЖЕН И В Visual Basic,но с анимцией
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses graphABC;
begin
setwindowsize(300,300);
setbrushcolor(clblack);
circle(150,110,20);
setbrushcolor(clbrown);
rectangle(50,100,260,250);
setbrushcolor(clgray);
roundRect(60,110,240,240,100,50);
setpenwidth(3);
line(150,100,100,50);
line(150,100,200,50);
setpenwidth(1);
circle(250,180,5);
circle(250,190,5);
circle(250,200,5);
circle(245,235,10);
end.
0
PAnT0P
1029 / 554 / 106
Регистрация: 26.03.2012
Сообщений: 993
09.05.2012, 14:32 6
Лучший ответ Сообщение было отмечено как решение

Решение

Вот накидал за 15 минут:
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
Option Explicit
 
Private TVON As Boolean
 
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    TVON = False
    DoEvents
    End
End Sub
 
Private Sub Form_Load()
    Dim R As Integer, X As Integer, Y As Integer, C As Integer, H As Integer
    TVON = True
    Me.AutoRedraw = True
    Me.ScaleMode = 3
    For R = 1 To 40
        Me.Circle (156, 80), R, RGB(64, 64, 64)
    Next R
    Line (156, 80)-(106, 10), RGB(0, 0, 0)
    Line (156, 80)-(206, 10), RGB(0, 0, 0)
    Me.Circle (106, 10), 2, RGB(0, 0, 0)
    Me.Circle (206, 10), 2, RGB(0, 0, 0)
    Me.Line (40, 55)-(272, 200), RGB(0, 0, 0), BF
    Me.Line (50, 65)-(230, 190), RGB(128, 128, 128), BF
    Me.Line (50, 200)-(70, 203), RGB(0, 0, 0), BF
    Me.Line (242, 200)-(262, 203), RGB(0, 0, 0), BF
    For Y = 65 To 115
        For X = 240 To 265 Step 2
            Me.PSet (X + Y Mod 2, Y), RGB(128, 128, 128)
        Next X
    Next Y
    For Y = 135 To 165 Step 25
        For X = 245 To 260 Step 15
            Me.Circle (X, Y), 2, RGB(128, 128, 128)
        Next X
    Next Y
    For R = 1 To 7
        Me.Circle (253, 180), R, RGB(128, 128, 128)
    Next R
    Me.Show
    Do While TVON
        C = Int(Rnd * 256)
        H = Rnd * 15
        Y = Rnd * (125 - H) + 65
        Me.Line (50, Y)-(230, Y + H), RGB(C, C, C), BF
        DoEvents
    Loop
End Sub
5
Миниатюры
Нарисовать анимированный телевизор, чтобы на экране была картинка или мурашки  
Ekaterina13
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 22
10.05.2012, 08:54  [ТС] 7
ОГРОМНОЕ ВАМ СПАСИБО!!!!!!!!

Добавлено через 17 часов 56 минут
Можете объяснить где что находится?очень срочно надо,не могу разобраться
0
PAnT0P
1029 / 554 / 106
Регистрация: 26.03.2012
Сообщений: 993
10.05.2012, 09:22 8
Новая версия немного подправленная
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
70
71
72
Option Explicit
'Переменная для выключения
Private TVON As Boolean
 
Private Sub Form_Load()
    'всякие разные переменные для вычесляемых координат, радиусов и т.д и т.п
    Dim R As Integer, X As Integer, Y As Integer, C As Integer, H As Integer
    'инициализация переменной начальным значением
    TVON = True
    'настройка формы
    Me.AutoRedraw = True
    Me.ScaleMode = 3
    'корпус антены (цикл нужен для закраски)
    For R = 1 To 40
        Me.Circle (156, 80), R, RGB(64, 64, 64)
    Next R
    'рожки антены
    Line (156, 80)-(106, 10), RGB(0, 0, 0)
    Line (156, 80)-(206, 10), RGB(0, 0, 0)
    'шарики на концах антеры
    Me.Circle (106, 10), 2, RGB(0, 0, 0)
    Me.Circle (206, 10), 2, RGB(0, 0, 0)
    'Корпус ТВ
    Me.Line (40, 55)-(272, 200), RGB(0, 0, 0), BF
    'Это и следующая строка вообще не нужна, не знаю зачем их писал XD
    'Me.Line (50, 65)-(230, 190), RGB(128, 128, 128), BF
    'ножки
    Me.Line (50, 200)-(70, 203), RGB(0, 0, 0), BF
    Me.Line (242, 200)-(262, 203), RGB(0, 0, 0), BF
    'Рисуем сетку динамика
    For Y = 65 To 115
        For X = 240 To 265 Step 2
            Me.PSet (X + Y Mod 2, Y), RGB(128, 128, 128)
        Next X
    Next Y
    'ручки настройки: яркость, контрасность, громкость, чего то там еще.
    'эту и следующие 5 строк выкинуть, так будет короче старого варианта
    'For Y = 135 To 165 Step 25
    '    For X = 245 To 260 Step 15
    '        Me.Circle (X, Y), 2, RGB(128, 128, 128)
    '    Next X
    'Next Y
    Me.Circle (245, 135), 2, RGB(128, 128, 128)
    Me.Circle (260, 135), 2, RGB(128, 128, 128)
    Me.Circle (245, 160), 2, RGB(128, 128, 128)
    Me.Circle (260, 160), 2, RGB(128, 128, 128)
    'Переключатель каналов (цикл нужен для закраски)
    For R = 1 To 7
        Me.Circle (253, 180), R, RGB(128, 128, 128)
    Next R
    'Показываем форму
    Me.Show
    'Включаем помехи
    Do While TVON
        'цвет помех (градация серого)
        C = Int(Rnd * 256)
        'высота полоски помех
        H = Rnd * 15
        'положение помехи по вертикали
        Y = Rnd * (125 - H) + 65
        'Отрисовка полосы
        Me.Line (50, Y)-(230, Y + H), RGB(C, C, C), BF
        DoEvents
    Loop
End Sub
 
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    'Выключение по крестику формы
    TVON = False
    DoEvents
    End
End Sub
1
Ekaterina13
0 / 0 / 0
Регистрация: 06.05.2012
Сообщений: 22
10.05.2012, 09:31  [ТС] 9
А как сделать так,что бы создала окно,кнопку включения,стоп?А то тут сразу нажимаешь на запуск.А когда создаю окно,телевизор сверху него и на половину виден.
0
PAnT0P
1029 / 554 / 106
Регистрация: 26.03.2012
Сообщений: 993
10.05.2012, 09:56 10
Цитата Сообщение от Ekaterina13 Посмотреть сообщение
А как сделать так,что бы создала окно,кнопку включения,стоп?А то тут сразу нажимаешь на запуск.А когда создаю окно,телевизор сверху него и на половину виден.
Ну так растяни форму в дизайнере форм.
Для ручного включения выключения:
1. Раскоментировать 26 строку
2. строки 9 и 52 - 64 удалить
3. кинуть на форму кнопку
4. добавить строки
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Command1_Click()
    Dim Y As Integer, C As Integer, H As Integer
    TVON = Not TVON
    Do While TVON
        'цвет помех (градация серого)
        C = Int(Rnd * 256)
        'высота полоски помех
        H = Rnd * 15
        'положение помехи по вертикали
        Y = Rnd * (125 - H) + 65
        'Отрисовка полосы
        Me.Line (50, Y)-(230, Y + H), RGB(C, C, C), BF
        DoEvents
    Loop
    'Рисуем экран
    Me.Line (50, 65)-(230, 190), RGB(128, 128, 128), BF
End Sub
Итого в остатке имеем:
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
Option Explicit
'Переменная для выключения
Private TVON As Boolean
 
Private Sub Form_Load()
    'всякие разные переменные для вычесляемых координат, радиусов и т.д и т.п
    Dim R As Integer, X As Integer, Y As Integer
    'настройка формы
    Me.AutoRedraw = True
    Me.ScaleMode = 3
    'корпус антены (цикл нужен для закраски)
    For R = 1 To 40
        Me.Circle (156, 80), R, RGB(64, 64, 64)
    Next R
    'рожки антены
    Line (156, 80)-(106, 10), RGB(0, 0, 0)
    Line (156, 80)-(206, 10), RGB(0, 0, 0)
    'шарики на концах антеры
    Me.Circle (106, 10), 2, RGB(0, 0, 0)
    Me.Circle (206, 10), 2, RGB(0, 0, 0)
    'Корпус ТВ
    Me.Line (40, 55)-(272, 200), RGB(0, 0, 0), BF
    'Рисуем экран
    Me.Line (50, 65)-(230, 190), RGB(128, 128, 128), BF
    'ножки
    Me.Line (50, 200)-(70, 203), RGB(0, 0, 0), BF
    Me.Line (242, 200)-(262, 203), RGB(0, 0, 0), BF
    'Рисуем сетку динамика
    For Y = 65 To 115
        For X = 240 To 265 Step 2
            Me.PSet (X + Y Mod 2, Y), RGB(128, 128, 128)
        Next X
    Next Y
    'ручки настройки: яркость, контрасность, громкость, чего то там еще.
    Me.Circle (245, 135), 2, RGB(128, 128, 128)
    Me.Circle (260, 135), 2, RGB(128, 128, 128)
    Me.Circle (245, 160), 2, RGB(128, 128, 128)
    Me.Circle (260, 160), 2, RGB(128, 128, 128)
    'Переключатель каналов (цикл нужен для закраски)
    For R = 1 To 7
        Me.Circle (253, 180), R, RGB(128, 128, 128)
    Next R
End Sub
 
Private Sub Command1_Click()
    Dim Y As Integer, C As Integer, H As Integer
    TVON = Not TVON
    Do While TVON
        'цвет помех (градация серого)
        C = Int(Rnd * 256)
        'высота полоски помех
        H = Rnd * 15
        'положение помехи по вертикали
        Y = Rnd * (125 - H) + 65
        'Отрисовка полосы
        Me.Line (50, Y)-(230, Y + H), RGB(C, C, C), BF
        DoEvents
    Loop
    'Рисуем экран
    Me.Line (50, 65)-(230, 190), RGB(128, 128, 128), BF
End Sub
 
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    'Выключение по крестику формы
    TVON = False
    DoEvents
    End
End Sub
2
10.05.2012, 09:56
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2012, 09:56

Как сделать так, чтобы у меня в экране 1,0 не была на весь экран?
Может кто читал мою тему снять ограничение. Поставлю вопрос по другому. Как сделать так чтобы у...

передача переменной в процедуру, или как определить какая картинка была нажата
помогите передать переменную в процедуру. или подскажите как определить (номер\имя\чтонибуть...

Расположение SeekBar: чтобы картинка на заднем плане была все также растянута по всей высоте и ширине экрана
Всем доброго времени суток! Возник следующий вопрос: допустим есть LinearLayout и в нем ImageView,...


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

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

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