Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Игорь с++
472 / 464 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
20.04.2013, 13:15

Открыть изображение в консоли - C++

20.04.2013, 13:15. Просмотров 7245. Ответов 30
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от phantom96 Посмотреть сообщение
Вы что, внутри консоли ничего не откроется. Как минимум нужно создавать своё окно для картинки.
Да ну !!! А это как же ?
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <conio.h>
#include <iostream>
 
void DrawBitmap(HDC hdc, int x, int y, HBITMAP hBitmap)
{
        HBITMAP hbm, hOldbm;
        HDC hMemDC;
        BITMAP bm;
        POINT ptSize, ptOrg;
 
        // ÑîçäГ*ГҐГ¬ ГЄГ®Г*ГІГҐГЄГ±ГІ ГЇГ*ìÿòè, ñîâìåñòèìûé
        // Г± ГЄГ®Г*òåêñòîì îòîáðГ*æåГ*ГЁГї
        hMemDC = CreateCompatibleDC(hdc);
 
        // ÂûáèðГ*ГҐГ¬ èçîáðГ*æåГ*ГЁГҐ bitmap Гў ГЄГ®Г*ГІГҐГЄГ±ГІ ГЇГ*ìÿòè
        hOldbm = (HBITMAP)SelectObject(hMemDC, hBitmap);
 
        // Åñëè Г*ГҐ áûëî îøèáîê, ïðîäîëæГ*ГҐГ¬ Г°Г*áîòó
        if (hOldbm)
        {
                // Äëÿ ГЄГ®Г*ГІГҐГЄГ±ГІГ* ГЇГ*ìÿòè ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГ¬ òîò æå
                // ðåæèì îòîáðГ*æåГ*ГЁГї, Г·ГІГ® èñïîëüçóåòñÿ Гў
                // ГЄГ®Г*ГІГҐГЄГ±ГІГҐ îòîáðГ*æåГ*ГЁГї
                SetMapMode(hMemDC, GetMapMode(hdc));
 
                // Îïðåäåëÿåì Г°Г*çìåðû èçîáðГ*æåГ*ГЁГї
                GetObject(hBitmap, sizeof(BITMAP), (LPSTR) &bm);
 
                ptSize.x = bm.bmWidth;  // øèðèГ*Г*
                ptSize.y = bm.bmHeight; // âûñîòГ*
 
                // ÏðåîáðГ*çóåì êîîðäèГ*Г*ГІГ» óñòðîéñòâГ* Гў ëîãè÷åñêèå
                // äëÿ óñòðîéñòâГ* âûâîäГ*
                DPtoLP(hdc, &ptSize, 1);
 
                ptOrg.x = 0;
                ptOrg.y = 0;
 
                // ÏðåîáðГ*çóåì êîîðäèГ*Г*ГІГ» óñòðîéñòâГ* Гў ëîãè÷åñêèå
                // äëÿ ГЄГ®Г*ГІГҐГЄГ±ГІГ* ГЇГ*ìÿòè
                DPtoLP(hMemDC, &ptOrg, 1);
 
                // ГђГЁГ±ГіГҐГ¬ èçîáðГ*æåГ*ГЁГҐ bitmap
                BitBlt(hdc, x, y, ptSize.x, ptSize.y,
                        hMemDC, ptOrg.x, ptOrg.y, SRCCOPY);
 
                // ÂîññòГ*Г*Г*âëèâГ*ГҐГ¬ ГЄГ®Г*ГІГҐГЄГ±ГІ ГЇГ*ìÿòè
                SelectObject(hMemDC, hOldbm);
        }
 
        // ÓäГ*ëÿåì ГЄГ®Г*ГІГҐГЄГ±ГІ ГЇГ*ìÿòè
        DeleteDC(hMemDC);
}
 
 
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
 
 static HBITMAP hBitmap;
 PAINTSTRUCT ps;    
 
     static char MyName[MAX_PATH]={0};
 
     GetModuleFileNameA(NULL, MyName, sizeof(MyName));
    HWND hwnd=FindWindow(NULL,MyName);
HDC hdc;
hdc=GetWindowDC(hwnd);
 
    hBitmap = (HBITMAP)LoadImage(NULL, "1.bmp", IMAGE_BITMAP, 100, 100, LR_LOADFROMFILE);
 
std::cout<<"Hello world !!!"<<"\n";
 
    InvalidateRect(hwnd,NULL,TRUE);
 
 
                hdc=BeginPaint(hwnd,&ps);
                DrawBitmap(hdc, 0,20,hBitmap);
                EndPaint(hwnd,&ps);
 
  getch();
 
    return EXIT_SUCCESS;
 
}
3
Миниатюры
Открыть изображение в консоли  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2013, 13:15
Готовые ответы и решения для C++ Открыть изображение в консоли:

Изображение на консоли
Возможно ли вывести на консоль трехмерное изображение? С помощью ассемблера,...

Возможно ли открыть консоль из консоли в С++?
Возможно ли открыть консоль из консоли в С++?

Открыть COM порт, введя его имя в консоли
пишу небольшую программку для опроса COM порта. Номер порта ввожу из консоли: ...

Не получается открыть файл с именем, которое задается пользователем в консоли
Хочу написать процедуру для работы с файлами. В нее нужно передавать имя файла,...

Необходимо переименовать файл с консоли, а после открыть его для редактирования
Необходимо переименовать файл из консоли программы, а после открыть его для...

Открыть изображение, на котором бы были ссылки (кнопки) для запуска программ. С чего начать?
Подскажите пожалуйста! Хочу создать приложение, которое бы открывало...

30
Открыть изображение в консоли C++   Следующее сообщение темы 
Другие темы раздела
C++ Подскажите хорошие учебники по Directx 9 в связке с C++ ,желательно посвежее http://www.cyberforum.ru/cpp-beginners/thread843207.html
Подскажите хорошие учебники по Directx 9 в связке с C++ ,желательно посвежее. Работаю в Microsoft Visual C++ 2010 express. Заранее спасибо!
C++ error C2504: CMove: не определен базовый класс Подскажите, пожалуйста, почему может возникать данная ошибка? Файл CBattle.h #include "CMove.h" class CPlayer : public CMove { // Ошибка на этапе выполнения: error C2504: CMove: не определен... http://www.cyberforum.ru/cpp-beginners/thread843201.html
C++ Двумерные массивы. Поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д
В матрице Z(4,6) поменять местами первый элемент в каждой строке с последним, второй - с предпоследним и т.д., если ни один из этих элементов не равен нулю. Вывести исходную и преобразованную...
C++ Введите с клавиатуры число х и удалите из массива каждый элемент, делящийся нацело на х, а оставшиеся уплотните к началу массива
Введите с клавиатуры число х и удалите из массива каждый элемент, делящийся нацело на х, а оставшиеся уплотните к началу массива.
C++ ряд Тейлора http://www.cyberforum.ru/cpp-beginners/thread843173.html
Доброого времени сутков Надо написать программу для вычисление sin(сам код не нужен, надо помощь в математическом плане) . Нашел формулу, но не понятно не понятно до какого n (счетчик в формуле)...
C++ Нужно доделать программу (Найдите сумму: 1*2+2*3*4+...+k(k+1)*...*2k) Задача: Дано натуральное число k. Найдите сумму: 1*2+2*3*4+...+k(k+1)*...*2k Т.е. переменная k должна вводиться и по формуле должна находиться сумма. Пример: k=4; Так должно выглядеть решение в... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru