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

Вывод черных и белых пиксилей на экран - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Rand() http://www.cyberforum.ru/cpp-beginners/thread1139393.html
metka: r1=rand()%2; r2=rand()%2; if(r1==a && r2==b)goto metka; else arr=='O'; Собсно-это кусок кода "крестиков-ноликов".Перед этим куском кода,пользователь вводит первый...
C++ Создание специального браузера Добрый день. Занимаюсь программированием года 3. В основном работал в вебе, но не в этом суть. Для моей будущей научной работы нужно создать специфичный браузер для инвалидов по зрению. Будет... http://www.cyberforum.ru/cpp-beginners/thread1139382.html
C++ Программа определяющая является ли 2 строка перевёрнутой первой
Код C #include<iostream> #include<conio.h> #include<cstring> using namespace std; int main() {
C++ Построение конечного автомата по регулярной грамматике
G=({S, C, D}, {0, 1}, P, S) P: 1) S→1C | 0D; 2) C→0D | 0S | 1; 3) D→1C | 1S | 0. Нужно выполнить: 1) ввод произвольной формальной грамматики с клавиатуры и проверка ее на принадлежность к...
C++ Русский язык http://www.cyberforum.ru/cpp-beginners/thread1139359.html
Уже задолбался с попыткой заставить выводить считанные русские строки. Имеем. По идее там должна быть функция CharToOem но она коверкает. А вот функции OemToChar и OemToAnsi нормально...
C++ Двумерный массив, сумма столбца В двумерном массиве хранится информация о количестве студентов в той или иной группе каждого курса института с первого по пятый (в первом столбце — информация о группах первого курса, во вто¬ром —... подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
6478 / 6041 / 1982
Регистрация: 18.12.2011
Сообщений: 15,654
Завершенные тесты: 1
05.04.2014, 13:33
IrineK, Небольшие поправки
1. DeleteObject(whitePen); не сработает если не вернуть старое перо.
2. Поскольку окно отображается не сразу, то часть линий пропадает,
нужна некоторая задержка перед циклом вывода
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
include <iostream>
#include <Windows.h>
using std::cout;
using std::cin;
 
int main()
{   HWND hW = GetConsoleWindow();
    HDC hDC = GetDC(hW);
    int width=800, height=600, i;
    POINT start;
 
    //cout << "Set the screen\n\twidth:\t";
    //cin >> width;
    //cout << "\theight:\t";
    //cin >> height;
    system("cls");
    Sleep(1000);
    SetWindowPos(hW, HWND_TOP, 0, 0, width, height, SWP_SHOWWINDOW);
    
    HPEN whitePen = CreatePen(PS_SOLID, 1, RGB(255, 255, 255)); 
    HPEN PenOld=(HPEN)SelectObject(hDC, whitePen); 
 
    for (i = 0; i<width; i += 10)
    {   //GetCurrentPositionEx (hDC, &start);
        MoveToEx (hDC, i, 0, &start);
        LineTo (hDC, i, height-1);
    }
 
    for (i = 0; i<height; i += 10)
    {   //GetCurrentPositionEx (hDC, &start);
        MoveToEx (hDC, 0, i, &start);
        LineTo (hDC, width-1, i);
    }
    SelectObject(hDC, PenOld);
    DeleteObject(whitePen);
    
    cin.sync(); cin.get();
    return 0;
}
А во втором варианте, чтобы были сплошные линии надо так
C++
1
2
3
4
5
6
     for (i = 0; i<width; i++)
        for (int j = 0; j<height; j += 10)
            SetPixel(hDC, i, j, RGB(255,255,255));
     for (i = 0; i<width; i += 10)
        for (int j = 0; j<height; j++)
            SetPixel(hDC, i, j, RGB(255,255,255));
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru