Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2019, 21:51   #1
Aa1Rey
Новичок
Джуниор
 
Регистрация: 24.03.2019
Сообщений: 1
Восклицание [C++] Нужно вставить картину в проект.

Мне для проекта нужно в самом начале вставить изображение. Пишу в Visual Studio 2017 на языке C++. Почитал на форуме, что нужно подключить библиотеку #include <jpeg.hpp>. я ввел все это. Но мне выдает ошибку. смотреть на скрине. Помогите решить эту проблему.
Изображения
Тип файла: jpg A2qXL40_qno.jpg (83.5 Кб, 127 просмотров)
Aa1Rey вне форума Ответить с цитированием
Старый 24.03.2019, 22:22   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Куда вы в консоли вставлять jpg собрались?

Там только ASCII art )

Ну а библиотека очевидно не стандартная и надо где-то взять ее.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.03.2019, 12:54   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Куда вы в консоли вставлять jpg собрались?
в окошко, Бро, в окошко.

окно консоли - самое обычное окошко системы.
рисовать там можно точно так же, как и в любом другом окне.


Код:
#include <Windows.h>
#include <cstdlib>
#include <cmath>
 
int main()
{
    float x;
    HDC hDC = GetDC(GetConsoleWindow());
    HPEN Pen = CreatePen(PS_SOLID, 2, RGB(255, 255, 255));
    SelectObject(hDC, Pen);
    MoveToEx(hDC, 0, 85, NULL);
    LineTo(hDC, 200, 85 );
    MoveToEx(hDC, 100, 0, NULL);
    LineTo(hDC, 100, 170);
    for (x = -8.0f; x <= 8.0f; x += 0.01f) // O(100,85) - center
    {
        const int xp = static_cast<int>(10 * x) + 100;
        const int yp = static_cast<int>(-10 * sin(x)) + 85;

        MoveToEx(hDC, xp, yp, NULL); //10 - scale
        LineTo(hDC, xp, yp);
     }
}
_Bers вне форума Ответить с цитированием
Старый 26.03.2019, 13:10   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
окно консоли - самое обычное окошко системы.
рисовать там можно точно так же, как и в любом другом окне.
откомпилируйте, плиз, кто-нибудь это код под Windows, хочу посмотреть, как это выглядит по факту.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.03.2019, 13:19   #5
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию скриншот

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
откомпилируйте, плиз, кто-нибудь это код под Windows, хочу посмотреть, как это выглядит по факту.
...
Изображения
Тип файла: jpg 2019-03-26_1316.jpg (58.5 Кб, 131 просмотров)
_Bers вне форума Ответить с цитированием
Старый 26.03.2019, 13:20   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну это извращение, тогда лучше и создать отдельное окно, консоль же на то и консоль, что универсальная и работает везде.

Этот код более-менее работает в cmd/powershell (после добавления Sleep в конце), а в нормальной консоли ConEmu сразу пропадает.

Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 26.03.2019 в 13:22.
Alex11223 вне форума Ответить с цитированием
Старый 26.03.2019, 13:26   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

спасибо. Действительно, допускается. И реально - получается фигня фигнёй (что и следовало ожидать). И что, битмап цветной (BMP/JPEG) тоже можно в консоль выдать?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.03.2019, 13:44   #8
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну это извращение, тогда лучше и создать отдельное окно, консоль же на то и консоль, что универсальная и работает везде.
что такого извращенного в том, что бы нарисовать в окошке?
и почему рисование в "отдельном окошке" - это не извращение?
окошки то ведь - одинаковые.

рисунок пропадает, потому что представленный мною пример слишком упрощенный.
он иллюстрирует лишь саму возможность,
а не полноценную работу.

работа с графикой предполагает некоторый культур-мультур в виде обработки сообщений от операционки аля "перерисуй мою клиентскую область".

без соблюдения онной гигиены рисунок может произвольно перетираццо,
если по нему сверху другим окошком провести.
или даже сам по себе, например.

примеры-иллюстрации с детальным описанием, как православно обрабатывать
сообщения окна (для консольного - ещё нужно получить к ним доступ)
это - материал, который тянет на целую книгу.

если заинтересовало: в гугле можно нарыть тонны материалов на эту тему.
_Bers вне форума Ответить с цитированием
Старый 26.03.2019, 13:46   #9
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
И что, битмап цветной (BMP/JPEG) тоже можно в консоль выдать?
вы это так спрашиваете,
будто бы ни разу рисунков в окошках не видели.
_Bers вне форума Ответить с цитированием
Старый 26.03.2019, 14:06   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
вы это так спрашиваете,
будто бы ни разу рисунков в окошках не видели.
в консоли - не припомню.
скриншот можно?
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно сохранить и вставить содержания ячеек oxana.pal Помощь студентам 26 24.02.2016 22:33
Нужно найти MAX и MIN значения и вставить их в другую таблицу Владимир П. Microsoft Office Excel 1 20.09.2011 20:35
Нужно вставить ссылку на файл Екселе Гошик Microsoft Office Excel 1 11.11.2010 00:02
нужно уничтожить картину Coel Безопасность, Шифрование 9 15.06.2010 14:27