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

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

Войти
Регистрация
Восстановить пароль
 
Веди
20 / 11 / 1
Регистрация: 04.07.2012
Сообщений: 225
#1

Графика: Олимпийская эмблема - C++

05.07.2012, 21:22. Просмотров 443. Ответов 0
Метки нет (Все метки)

осваиваю азы графики. необходимо изобразить олимпийскую эмблему из пяти колец используя функции OWL.
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
//olymp.cpp - Олимпийская эмблема
#include <owl/applicat.h>
#include <owl/framewin.h>
#include <owl/dc.h>
 
#define  COL 5     // Цвета
#define  AWX 310 // Длина окна
#define  AHY 160  // Высота окна
 
//______Класс Главного Окна_______
class TOlympWindow: public TWindow {
protected:
  TColor  c[COL];
public:
  TOlympWindow(TWindow* parent);
 ~TOlympWindow();
  void SetupWindow();
  void Paint(TDC &dc,bool,TRect&);
};
 
//___Конструктор___
TOlympWindow::TOlympWindow(TWindow* parent): TWindow(parent) {
  Attr.W=AWX;
  Attr.H=AHY;
}
 
//___Деструктор___
TOlympWindow::~TOlympWindow() {
}
 
void TOlympWindow::SetupWindow() {
  TWindow::SetupWindow();
  c[1]=TColor(0,0,255);    // Синий
  c[2]=TColor(0,0,0);       // Чёрный
  c[3]=TColor(255,0,0);    // Красный
  c[4]=TColor(255,255,0); // Жёлтый
  c[5]=TColor(0,255,0);    // Зелёный
}
 
void TOlympWindow::Paint(TDC &dc,bool,TRect&) {
  TPen* pen=new TPen(c[1],5);
  dc.SelectObject(*pen);
  dc.Ellipse(10,10,100,100);
  dc.Ellipse(110,10,200,100);
  dc.Ellipse(210,10,300,100);
  dc.Ellipse(60,60,150,150);
  dc.Ellipse(160,60,250,150);
  delete pen;
}
 
//_________Класс Приложения_________
class TOlympApp: public TApplication {
public:
  void InitMainWindow() {
    TFrameWindow *fw=new TFrameWindow(0,"Олимпийская эмблема",
                     new TOlympWindow(0),true);
    fw->Attr.Style &=WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX;
    SetMainWindow(fw);
  }
};
 
//_______OWL Функция_______
int OwlMain(int,char *[]) {
  return TOlympApp().Run();
}
всё работает, только два нижних кольца перекрывают верхние, как сделать фон прозрачным, и использовать все пять цветов? ну и конечно же я не претендую на рациональность кода, возможно я сделал всё совсем не так..

Добавлено через 8 часов 56 минут
---ап---

Добавлено через 11 часов 36 минут
---ап---
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2012, 21:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Графика: Олимпийская эмблема (C++):

Эмблема - Delphi
как поменять эмблему на формах (верхний левый угол).чтоб был свой логотип, а не делфи??

эмблема спартака - Delphi
помогите пожалуйста создать программу, для рисования эмблемы спартака в Delphi

Не загружается компьютер, эмблема MSI съезжает в правый угол - Компьютерное железо
Помогите пожалуйста не загружается комп...при загрузке эмблема MSI сьежает в правый угол и не грузится комп..было такое давно ,потом как то...

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

Chart - диаграмма: изменить точность делений графика, установить центр графика в (0,0) - C#
Создал диаграмму (все прекрасно считается точки расставляются), но есть проблемыЖ 1. В случае диаграммы - &quot;Спектр амплитуд&quot;, series2 он...

Автоматическое изменение графика при переносе данных, формулы и графика на другой лист - MS Excel
На первом листе, на основании каких-либо вычислений строим график, а затем полностью копируем первой лист на второй, а затем изменяем...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2012, 21:22
Привет! Вот еще темы с ответами:

Построение графика производной для каждого графика из 3 режимов - Matlab
Дорогие друзья, прошу помочь доделать три программы. В каждой программе выводится по одному графику и нужно чтобы каждая программа выводила...

Совмещение поточечного графика и графика построенного функцией на отрезке - Mathematica
Есть некий массив array1 = {...} и func = y /. NDslove По отдельности строю так: Plot и ListLogPlot Как их совместить? ...

Шкала графика Chart Control - Сделать так, чтобы значения графика были с 2 знаками после запятой - C# MVC
Здравствуйте! У меня такая проблема: В базе данных есть числовые данные, на основе которых рисуется график Подскажите, пожалуйста,...

Графика: построить 2 графика в одной координатной плоскости - Turbo Pascal
Нужно построить 2 графика в одной координатной плоскости, но для начала нужно протабулировать функции... С Графикой ни разу не встречалась,...


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

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

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