Рисование

Тема в разделе "MS Visual C++", создана пользователем o1ps, 11 ноя 2007.

Статус темы:
Закрыта.
  1. o1ps

    o1ps Гость

    Пожалуйста, подскажите методы, которыми можно воспользоваться при построении изображения в Visual C++ для создания например такого изображения : приближающийся прямоугольник с вписанными в него двумя непересекающимися эллипсами. В Исходные данные можно записать размеры и первоначальное положение фигур на экране.
     
  2. gamecreator

    gamecreator Гость

    Код (Text):
    int stxrect, styrect, stxel1, styel1, stxel2, styel2, dxrect, dyrect, dxel1, dyel1, dxel2, dyel2;
    int lxrect, lyrect, lxel1, lyel1, lxel2, lyel2, dlxrect, dlyrect, dlxel1, dlyel1, dlxel2, dlyel2;
    int delay, n; // задержка между кадрами и их кол-во
    // st[координата][название фигуры] - стартовая точка
    // d[координата][название фигуры] - сдвиг влево/вверх от стартовой точки (если <0, то элемент будет двигаться вправо/вниз)
    // l[координата][название фигуры] - стартовая длина
    // dl[координата][название фигуры] - прирост длины (<0 - фигура будет уменьшаться)
    CDC p_dc=theApp.m_pMainWnd->GetDC();

    // НЕ ЗАБУДЬ ИНИЦИАЛИЗИРОВАТЬ ПЕРЕМЕННЫЕ ФИГУР!!!

    for(int i=0,x1,x2,y1,y2;i<n;i++)
    {
    // прямоугольник
    x1=stxrect-dxrect*i;
    y1=styrect-dyrect*i;
    x2=x1+lxrect+dlxrect*i;
    y2=y1+lyrect+dlyrect*i;
    p_dc->Rectangle(x1,y1,x2,y2);
    // эллипс №1
    x1=stxel1-dxel1*i;
    y1=styel1-dyel1*i;
    x2=x1+lxel1+dlxel1*i;
    y2=y1+lyel1+dlyel1*i;
    p_dc->Ellipse(x1,y1,x2,y2);
    // эллипс №2
    x1=stxel2-dxel2*i;
    y1=styel2-dyel2*i;
    x2=x1+lxel2+dlxel2*i;
    y2=y1+lyel2+dlyel2*i;
    p_dc->Ellipse(x1,y1,x2,y2);
    }
    ну вот. если нигде не опечатался - будет работать. код можно вставлять в любое место приложения созданного MFC. если приложение создано другим способом - надо поменять theApp на обьект приложения.
     
Загрузка...
Похожие Темы - Рисование
  1. ilya00
    Ответов:
    17
    Просмотров:
    1.772
  2. vladden
    Ответов:
    1
    Просмотров:
    1.841
  3. 123456789igor
    Ответов:
    1
    Просмотров:
    1.392
  4. sergg
    Ответов:
    11
    Просмотров:
    4.695
  5. bearpaw
    Ответов:
    6
    Просмотров:
    3.770
Статус темы:
Закрыта.

Поделиться этой страницей