Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Kapioner
1 / 1 / 0
Регистрация: 16.02.2011
Сообщений: 30
1

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

10.04.2011, 23:52. Просмотров 1579. Ответов 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
Ответы с готовыми решениями:

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

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

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

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

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

3
Jupiter
Каратель
Эксперт С++
6570 / 3991 / 400
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2012, 13:34

Работа с графикой
Здравствуйте, помогите с измненнем в программе...там по малому поменять, вместо &quot;РНА&quot; НУЖНО...

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

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


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

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

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