Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 76

Точку отобразить в виде пикселя

07.12.2012, 02:15. Показов 2455. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
/*Реализовать класс Graphic, который позволяет рисовать на экране консоли различные геометрические фигуры.
Разнести проект по файлам. 
Предусмотреть методы для отображения:
- точки
- прямой линии
- треугольника
- прямоугольника
- эллипса
- текста
- градиента
- изображения*/
 
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
 
class Graphic
{
private:
    COORD tochka;
public:
    Graphic();
    void Show();
};
 
Graphic::Graphic()
{
    srand(time(0));
    tochka.X = rand() % 80; 
    tochka.Y = rand() % 25; 
}
 
void Graphic::Show()
{
    SetConsoleCursorPosition(h,tochka);
    SetConsoleTextAttribute(h,10);
    cout << "." << endl;
    Sleep(INFINITE);
}
 
void main()
{
    Graphic g;
    g.Show();
}
Вопрос насчёт точки. написал преподавателю и он сказал, что точку нужно отобразить в виде пикселя. как это сделать. я вообще не вдупляюсь, что такое пиксель и ... help

Добавлено через 2 часа 24 минуты
up up up
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2012, 02:15
Ответы с готовыми решениями:

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

Записать в файл красную составляющую (R) пикселя в двоичном виде по 8 бит
Доброго времени суток. Необходимо записать в файл красную составляющую (R) пикселя в двоичном виде по 8 бит (Например: 01100010). Так вот...

Как отобразить ДРОБНЫЕ данные через точку
У меня связь с БД через ADO (ADOQUERY-&gt;). дАННЫЕ НА ЭКРАНЕ из SQL-запроса отображаются. Кто знает,как данные ,не целые числа , на...

7
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
07.12.2012, 02:35
Большинство нужных вам функций уже есть в WinAPI, пожалуй, придется написать только градиент:
SetPixel, BitBlt, MoveToEx, LineTo, Polyline, Ellipse, Rectangle;

Все они рисуют на HDC, который можно получить из дескриптора окна HWND при помощи функции GetWindowDC(); А HWND окна консоли можно получить вызвав FindWindow(NULL, GetConsoleTitle());
0
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 76
08.12.2012, 04:17  [ТС]
Цитата Сообщение от MLPMan Посмотреть сообщение
Большинство нужных вам функций уже есть в WinAPI, пожалуй, придется написать только градиент:
SetPixel, BitBlt, MoveToEx, LineTo, Polyline, Ellipse, Rectangle;

Все они рисуют на HDC, который можно получить из дескриптора окна HWND при помощи функции GetWindowDC(); А HWND окна консоли можно получить вызвав FindWindow(NULL, GetConsoleTitle());
MLPMan, покажи пожалуйста пример кода, например как нарисовать круг. и объясни...
вот у меня есть код круг + прямоугольник, но только не могу разобраться.

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
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
 
#pragma comment(lib,"msimg32.lib")
 
HWND hwnd = GetConsoleWindow(); // дескриптор окна, используемый консолью
HDC hdc = GetDC(hwnd); // данные типа HDC представляют собой 32-разрядное целое беззнаковое число.
// после получения дескриптора контекста программа может использовать функции графического интерфейса.
 
void main()
{
    SetConsoleTitleA("JAPAN");
 
    HPEN white_pen = CreatePen(PS_SOLID,1,RGB(255,255,255)); // Тип данных, который отвечает за создание пера, карандаша, ручки.
    HBRUSH white_brush = CreateSolidBrush(RGB(255,255,255)); // Кисточка, заливка, ведёрко
 
    SelectObject(hdc,white_pen);
    SelectObject(hdc,white_brush);
 
    Rectangle(hdc,0,0,200,120);
 
    DeleteObject(white_pen);
    DeleteObject(white_brush);
 
    //////////////////////////////////
 
    HPEN red_pen = CreatePen(PS_SOLID,1,RGB(255,0,0));
    HBRUSH red_brush = CreateSolidBrush(RGB(255,0,0));
 
    SelectObject(hdc,red_pen);
    SelectObject(hdc,red_brush);
 
    Ellipse(hdc,60,20,60+80,20+80);
 
    ReleaseDC(hwnd,hdc);
 
    ////////////////////////////////////////////////////////////////////
 
    HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_CURSOR_INFO cci; // убрать курсор
    cci.bVisible=0; // убрать курсор
    cci.dwSize=100; // убрать курсор
    SetConsoleCursorInfo(h,&cci); // убрать курсор
    Sleep(INFINITE);
}
Добавлено через 2 часа 29 минут
up up up. помогите пожалуйста
0
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
08.12.2012, 06:16
C++
1
2
3
4
5
6
7
void main(){
HDC dc;
SetConsoleTitle("JAPAN");
dc:=GetWindowDC(FindWindow(NULL,"JAPAN"));
Ellipse(dc,0,0,100,100);
Readln;
}
Вот этот вроде рисует... На Delphi, по крайней мере.

Добавлено через 18 минут
А в чем, собственно, проблема, тот код с японским флагом нормально работает.
0
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 76
08.12.2012, 18:41  [ТС]
мне отдельно нужно нарисовать, круг, прямоугольник, эллипс, треугольник..., а я не знаю какие ф-ии за что отвечают. Нам этого не объясняли, это доп задание, но я хочу сделать, пиксель, картинка, текст, градиент уже готовы и вот это осталось

Добавлено через 3 часа 33 минуты
help please.
0
 Аватар для Ieroglif
19 / 19 / 2
Регистрация: 23.06.2011
Сообщений: 238
08.12.2012, 20:27
круг, прямоугольник, эллипс, треугольник
А не легче для этого воспользоваться ф-ми OpenGL?
0
2 / 2 / 0
Регистрация: 25.11.2012
Сообщений: 76
08.12.2012, 21:37  [ТС]
Ieroglif, не умею. покажи как и объясни пожалуйста) или скинь ссылку

Добавлено через 37 минут
покажите кто-то
0
 Аватар для Ieroglif
19 / 19 / 2
Регистрация: 23.06.2011
Сообщений: 238
08.12.2012, 21:58
http://www.rsdn.ru/article/ope... .xml#E1CAC
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.12.2012, 21:58
Помогаю со студенческими работами здесь

Работа с изображениями (считать значение пикселя в виде RGB, не используя средства ОС)
В общем необходимо открыть изображение в виде RGB - матрицы, для последующей работы. Задача тривиальна если делать это из под какой либо...

нахождение пикселя RGBA из второго пикселя и их суммы
Собственно вопрос уже в названии, но он мало относится к С++, больше к графике. если параметры RGBA варьируются от 0 до 255. Допустим у...

Отобразить данные в виде таблицы
есть xml файл его нужно отобразить в виде таблицы через xsl файл но почему то выводится просто в строку. XML &lt;?xml...

Отобразить значение Double в виде a / b
Возможно ли сделать некое преобразование так, чтобы значение типа Double отобразить в виде дроби Например, чтобы 0.3333333......

Отобразить матрицу в заданном виде
Нужно сделать так чтобы отобразилась матрица в следующем виде: 1*2 0 0 0...0 0 2*3 0 0...0 0 0 3*4 0...0 ................. 0...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в КА2. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа в КА2. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru