Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Kapioner
1 / 1 / 0
Регистрация: 16.02.2011
Сообщений: 30
#1

Работа с графикой - C++

10.04.2011, 23:52. Просмотров 1496. Ответов 3
Метки нет (Все метки)

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
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
73
74
75
76
77
#include "graphics.h"
#include <math.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main (void)
{
   int x,y,c,k,q,z,w,e,r,t,u,s,b,n;
   int driver= DETECT, mode=0;
   initgraph(&driver,&mode,"");
   while (getch()!= KEY_ESCAPE)
   {  
       for (int i=1;i<91;i++)
       {
          x=30;
          line(300,240,300,130-i);
          line(300,240,300,350+i);
          line(300,240,410+i,240);
          line(300,240,190-i,240);
          line(300,240,380+i,160-i);
          line(300,240,380+i,320+i);
          line(300,240,220-i,160-i);
          line(300,240,220-i,320+i);
          circle (300,240,x+i);
        circle (300,130-i,(x+i)/4);
          
          circle (300,350+i,(x+i)/4); 
          circle (410+i,240,(x+i)/4);
          circle (190-i,240,(x+i)/4);
          circle (380+i,160-i,(x+i)/4);
          circle (380+i,320+i,(x+i)/4); 
          circle (220-i,160-i,(x+i)/4); 
          circle (220-i,320+i,(x+i)/4); 
          sleep(30);
           setfillstyle(1,0);
          bar(0,0,640,480);
          q=130-i;
          w=350+i;
          t=380+i; 
          u=160-i;
          z=x+i;
          r=190-i; 
          e=410+i;
          s=320+i;
          c=220-i;
          b=130-i;
          n=350+i;
       
         
      } 
      for (int i=1;i<91;i++)
      {
           setfillstyle(1,0);
          bar(0,0,640,480);
          line(300,240,300,b+i);
          line(300,240,300,n-i);
          line(300,240,e-i,240);
          line(300,240,r+i,240);
          line(300,240,t-i,u+i);
          line(300,240,t-i,s-i);
          line(300,240,c+i,u+i);
          line(300,240,c+i,s-i);
          circle (300,240,120-i);
         сircle (300,q+i,(z-i)/4);
          circle (300,w-i,(z-i)/4); 
          circle (e-i,240,(z-i)/4);
          circle (r+i,240,(z-i)/4);
          circle (t-i,u+i,(z-i)/4);
          circle (t-i,s-i,(z-i)/4); 
          circle (c+i,u+i,(z-i)/4); 
          circle (c+i,s-i,(z-i)/4); 
         sleep(30);
         
      } 
   }                      
   closegraph ();                 
}

На этой программе снежинка увеличивается и уменьшается до нажатия клавиши Esc, всё вроде бы работает нормально, но снежинка моргает! (я затирал просто экран чтобы сделать анимацию), пробывал рисовать чёрные фигуры на место старых чтоб не моргала но там оч сложно пару дней парился в итоге увеличивалась норм а уменьшается криво. Вопрос заключается в том: как сделать так чтобы она не моргала?(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2011, 23:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с графикой (C++):

Работа с графикой - C++
Доброго времени суток ув. форумчане. Вобщем так, я еще совсем новичок, пытаюсь написать программу, задача ее в том чтобы выводить на...

Работа с ГРАФИКОЙ - C++
ПАМАГИТЕ ОЧ НАДО

Работа с графикой в СИ++ - C++
Здравствуйте, я хочу в Visual studio 2012 под windows организовать работу с графикой по аналогии с паскалем, когда подключаю uses graph;. ...

Работа с графикой - C++
Есть прога с вращением куба. Я ее сделал автоматически. Помогите, чтобы куб вращался стрелками с клавы. Вот исходник.

Работа с графикой - C++
Здравствуйте уважаемые,возникла такая вот проблема: Поставлена задача нарисовать круг в круге и что бы они двигались в разных...

работа с графикой - C++
подскажите код программы, которая выводит форму круга.

3
Jupiter
Каратель
Эксперт С++
6564 / 3985 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.04.2011, 23:57 #2
Цитата Сообщение от Kapioner Посмотреть сообщение
как сделать так чтобы она не моргала?(
никак, в ВС3.1 вы никак от этого не избавитесь, разве что увеличить задержку или придумать мего сложный алгоритм перерисовки
1
Kapioner
1 / 1 / 0
Регистрация: 16.02.2011
Сообщений: 30
10.04.2011, 23:59  [ТС] #3
Это типа рисовать а потом старое зарисовывать в чёрный? это ппц( я пытался)
0
morric
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 12
08.03.2012, 13:34 #4
Делается это достаточно просто.Нужно сначала подготовить как минимум 2 кадра графической зоны в памяти , а мотом выводить эти кадры непосредственно на экран.
0
08.03.2012, 13:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2012, 13:34
Привет! Вот еще темы с ответами:

Работа с графикой - C++
Народ всем привет я начал работать с графикой в C++ и возникла проблема:) Вот есть задача: Нарисуйте окно с закругленными углами....

Работа с графикой - C++
Здравствуйте, помогите с измненнем в программе...там по малому поменять, вместо &quot;РНА&quot; НУЖНО ИЗМЕНИТЬ НА &quot;КДН&quot;...т.е работа с координатами...

Работа с графикой и изображениями - C++
можете написать примерно как выглядеть будит от начало до конца, наглядно. вот такая задача: просто после запуска будет открываться...

ООП - работа с графикой - C++
Всем привет, задали лабу, первое задание без проблем сделал, но вот вторая часть, беда в том, что с графикой не учили работать, не понимаю,...


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

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

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