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

Примитивная графика си++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
oxen
0 / 0 / 0
Регистрация: 18.05.2012
Сообщений: 4
18.05.2012, 09:24     Примитивная графика си++ #1
Доброго времени суток, ребят. Задали программу написать
Задание: Разработать подпрограмму рисования элемента меандра и использовать её для построения сложных узоров.
Графическая библиотека BGI

Подкиньте , хотя бы , идеи, по программе. Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2012, 09:24     Примитивная графика си++
Посмотрите здесь:

C++ Графика(((
Графика C++
Примитивная графика (Dev-C++) C++
C++ Примитивная игра на c++
Примитивная лаба по классам. Уже написана. Не компилится C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
oxen
0 / 0 / 0
Регистрация: 18.05.2012
Сообщений: 4
22.05.2012, 00:42  [ТС]     Примитивная графика си++ #2
Есть, какие-нибудь, идеи?
Jupiter
22.05.2012, 01:32
  #3

Не по теме:

Цитата Сообщение от oxen Посмотреть сообщение
Графическая библиотека BGI
этим никто не пользуется, так что
Цитата Сообщение от oxen Посмотреть сообщение
Есть, какие-нибудь, идеи
маловероятно

oxen
0 / 0 / 0
Регистрация: 18.05.2012
Сообщений: 4
22.05.2012, 15:17  [ТС]     Примитивная графика си++ #4
А если не использовать данную библиотеку, взять любую другую? Т.е. не важно какая библиотека
Taftis
Pascal, Delphi, C++
 Аватар для Taftis
178 / 127 / 27
Регистрация: 01.12.2012
Сообщений: 626
24.04.2013, 06:56     Примитивная графика си++ #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
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
#include <windows.h>
#include <math.h>
LRESULT CALLBACK  WndProc(HWND, UINT, WPARAM, LPARAM);
 
int  main(void) {
   MSG msg;
   int  use = CW_USEDEFAULT; 
   HWND  wnd = CreateWindowA("BUTTON", "Моё окно", WS_OVERLAPPEDWINDOW, use, use, use, use, 
                                           GetDesktopWindow(), NULL, (HINSTANCE)GetModuleHandle(NULL), NULL);
   if(! wnd)
         ExitProcess(1u);
 
   SetClassLong(wnd, GCL_HCURSOR, (LONG)LoadCursor(NULL, IDC_ARROW)); // курсор
   SetClassLong(wnd, GCL_HBRBACKGROUND, (LONG)GetStockObject(WHITE_BRUSH)); // цвет формы
   SetWindowLong(wnd, GWL_WNDPROC, (LONG)WndProc);  // обработчик сообщений
 
   ShowWindow(wnd, SW_SHOWDEFAULT);
   UpdateWindow(wnd);
   InvalidateRect(wnd, NULL, TRUE);
 
   ZeroMemory(&msg, sizeof(MSG));
   while(GetMessageA(&msg, NULL, 0U, 0U)) {
        DispatchMessageA(&msg);
        TranslateMessage(&msg);
   }
   DestroyWindow(wnd);
   return 0;
}
 
LRESULT CALLBACK  WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
   PAINTSTRUCT ps;
   HGDIOBJ old;
   int x, y, ny;
   static POINT pt;
   static HPEN  pen;
 
   switch(msg) {
     case WM_SHOWWINDOW:
          pen  = CreatePen(PS_SOLID, 1,  RGB(0, 0, 255));
          pt.x =  pt.y = 0L;
         break;
     case WM_PAINT:   // обработчик рисования на форме
         BeginPaint(hwnd, &ps);
 
        // рисуем график X,Y
        MoveToEx(ps.hdc, ps.rcPaint.right/2, 10, NULL);
        LineTo(ps.hdc, ps.rcPaint.right/2, ps.rcPaint.bottom-10);
 
        MoveToEx(ps.hdc, 10, ps.rcPaint.bottom/2, NULL);
        LineTo(ps.hdc, ps.rcPaint.right-10, ps.rcPaint.bottom/2);
 
        old = SelectObject(ps.hdc, pen);
        // рисуем синусуидальные-волны
        y = ps.rcPaint.bottom / 2;
        for(pt.y = y + 10, pt.x = 10, x = 11; x < ps.rcPaint.right - 10; x++) {
              ny = y + ps.rcPaint.bottom / 8 * sin(2 * 3.14 * x / (45*ps.rcPaint.right/180));
              MoveToEx(ps.hdc, pt.x, pt.y, NULL);
              LineTo(ps.hdc, x, ny);
              pt.x = x;
              pt.y = ny;
         }
         SelectObject(ps.hdc, old);
         EndPaint(hwnd, &ps);
         break;
     case WM_DESTROY:
          DeleteObject(pen);
          PostQuitMessage(0);
         break;
     default: return DefWindowProcA(hwnd, msg, wParam, lParam);
     }
     return 0;
}
Yandex
Объявления
24.04.2013, 06:56     Примитивная графика си++
Ответ Создать тему
Опции темы

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