Форум программистов, компьютерный форум CyberForum.ru

Мерцающая надпись (графика) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
17.02.2012, 17:21     Мерцающая надпись (графика) #1
Кто может подсказать как написать программу «мерцающая надпись»: надпись мерцает (изменяет свой цвет) с помощью библиотеки graphics.h? Буду благодарен любой мысли и слову, заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2012, 17:21     Мерцающая надпись (графика)
Посмотрите здесь:

C++ Изменить надпись в первой строке.
C++ Можно ли убрать надпись с шапки окна?
графика C++
Написать программу чтобы выводила надпись Hello world C++
C++ Графика
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
17.02.2012, 17:40     Мерцающая надпись (графика) #2
http://radiofront.narod.ru/htm/prog/htm/paint.html
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
17.02.2012, 19:14  [ТС]     Мерцающая надпись (графика) #3
А толку( был уже там(

Добавлено через 1 час 10 минут
.....
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,876
17.02.2012, 19:29     Мерцающая надпись (графика) #4
MrCold, Когда я щелкнул по вашей ссылке, моя антивирусная система забила тревогу

Devil7, Насколько я помню, для каждого знакоместа отводится по 2 байта. Первый - сам символ. Второй - цвет текста (4 бита=16 цветов) + цвет фона(4 бита=8 цветов + бит мерцания).
Короче, к байту цвета надо прибавить 128. Однако виндоус, по своему трактует эти игрушки при эмуляции досовской видеопамяти. А под чистым досом все должно пройти.
Уверенности нет, все было слишком давно....

Добавлено через 1 минуту
Простите, перепутал. То что я писал, относится к conio.h А вам нужно graphics.h
ИМХО, там такой возможности нет. Только через таймер.
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
17.02.2012, 20:04     Мерцающая надпись (графика) #5
К примеру, вывод текста:
C
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
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
 int main()
 {
     int gd = DETECT;       //драйвер
     int gmode;             //имя режима
     int err;               //код ошибки
     initgraph(&gd, &gmode, "C:\\TC\\BGI\\"); //функция для подключения драйвера графического режима
     err = graphresult();
         if (err != grOk)   //ошибка подключения
            {
             printf("Graphics error: %s\n", grapherrormsg(err));
             printf("Press any key to halt:");
             getch();
             exit(1); 
            }
 
 setbkcolor(YELLOW);               //фон
 settextstyle(GOTHIC_FONT, 0, 4);  //стиль текста, параметры: 1-ое шрифт, 2-ое направление текста ( 0 - слева направо,
                                   // 1 - сверху вниз, 3-ье размер шрифта.
 outtextxy(240, 240, "WORD");      //вывод текста на определенной координате
 
//closegraph();
getch();
}
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
17.02.2012, 20:36     Мерцающая надпись (графика) #6
Nursik77, cвой пример лень писать .Использовал ваш.

Не по теме:

Казахстану большой привет !!!


C++
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
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
 int main()
 {   double color = 0, dc = 0;
     int gd = DETECT;       //???????
     int gmode;             //??? ??????
     int err;               //??? ??????
     initgraph(&gd, &gmode, "C:\\TC\\BGI\\"); //??????? ??? ??????????? ???????? ???????????? ??????
     err = graphresult();
         if (err != grOk)   //?????? ???????????
            {
             printf("Graphics error: %s\n", grapherrormsg(err));
             printf("Press any key to halt:");
             getch();
             exit(1);
            }
do {
   system("cls");
        color += dc;
        if(color > 15.0)
        dc = -0.1;
        if(color < 1.1)
        dc = 0.1;
 setcolor(color);               //???
 settextstyle(GOTHIC_FONT, 0, 7 );  //????? ??????, ?????????: 1-?? ?????, 2-?? ??????????? ?????? ( 0 - ????? ???????,
                                   // 1 - ?????? ????, 3-?? ?????? ??????.
 outtextxy(170, 200, "WORD"); }while(true);   //????? ?????? ?? ???????????? ??????????
 
//closegraph();
getch();
}
Работает на Dev-C++

Добавлено через 3 минуты
Цитата Сообщение от Байт Посмотреть сообщение
MrCold, Когда я щелкнул по вашей ссылке, моя антивирусная система забила тревогу
не знаю ,капризный Avast молчит ...
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
18.02.2012, 00:43  [ТС]     Мерцающая надпись (графика) #7
А можно проще сделать? По циклу, что бы он рисовал каждый раз?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "graphics.h"
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
 
 
void main()
{
    // Инициализация
    int driver = DETECT, mode = 0, color=1;
    initgraph( &driver, &mode, "" );
    for(color=1;color<15;color++ )
        for(int i=0;i<1000000;i++)
        setcolor(color);
            outtextxy(10,10, "I am like ice cream!");
    while ( getch() != KEY_ESCAPE );
        // Завершение работы с графикой
    closegraph();
    }
Добавлено через 17 минут
О! Все заработала, еще вопрос, как сделать шрифт крупнее?

C++
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
#include "graphics.h"
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
 
void main()
{
    // Инициализация
    int driver = DETECT, mode = 0;
    int y=1;
    initgraph( &driver, &mode, "" );
    // рисуем здесь !!!
    do { 
  if (y<=15)
   y++;
  else y=1;
 
   for(int i=0;i<100000;i++)
    setcolor(y);
 outtextxy(250,240, "I am sexy and I know it!");
 }
    while ( getch() != KEY_ESCAPE );
        // Завершение работы с графикой
    closegraph();
    }
Добавлено через 2 часа 32 минуты
(((((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2012, 07:50     Мерцающая надпись (графика)
Еще ссылки по теме:

Как программно изменить надпись на кнопке? C++
Как изменить надпись на кнопке? C++

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

Или воспользуйтесь поиском по форуму:
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
18.02.2012, 07:50     Мерцающая надпись (графика) #8
Цитата Сообщение от Devil7 Посмотреть сообщение
как сделать шрифт крупнее?
C
1
2
3
...
settextstyle(GOTHIC_FONT, 0, 4);  //стиль текста, параметры: 1-ое шрифт, 2-ое направление текста ( 0 - слева направо, 1 - сверху вниз, 3-ье размер шрифта
...
3-и параметр функции размер шрифта.
Yandex
Объявления
18.02.2012, 07:50     Мерцающая надпись (графика)
Ответ Создать тему
Опции темы

Текущее время: 13:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru