2015-12-28 5 views
0

У меня есть довольно конкретный вопрос: я хочу нарисовать матрицу чисел в изображении с оттенками серого. Чем выше число, тем ярче выход. Есть ли способ сделать это в программе на C++ без зависимости от графической библиотеки, такой как Qt?Нарисуйте матрицу чисел как изображение с C++

Я просмотрел некоторые примеры ImageMagick, но я не уверен, как реализовать его функции в C++.

Ответ В случае, если кто натыкается на этот вопрос: модифицированный код примера, показанного here был удобным и простым решением

+0

Конечно, должен быть способ, но этот вопрос слишком широк. Если у вас есть вопрос о конкретной проблеме программирования, спросите об этом. – NathanOliver

+0

Если он настолько широк, почему я не могу найти решение? Любой пример кода или полезная ссылка была бы отличной. – Jonas

+1

Основные проблемы заключаются в том, что C++ не имеет средств для изображений. Изображения различаются по своим структурам данных (в соответствии с форматом), поэтому необходима библиотека. Вы всегда можете проверить свою ОС, чтобы увидеть, есть ли у нее API для рисования изображений. Таким образом вам не понадобится Qt или ImageMagik. –

ответ

1

Это трудно без библиотеки. SFML кажется простой в использовании.

EDIT

Также у вас есть 3 другие вопросы, скрытые в вашем вопросе:

1- Чтобы сохранить изображение, которое вы можете использовать sf::image::saveToFile

2- Чтобы получить более яркий номер для большего числа: Вы должны нормализовать свои номера до [MinColorYouWant MaxColorYouWant] (например: [128,255]). Таким образом, значение нормализации, соответствующее каждому числу, станет цветом числа.

3- SFML uses RGBA изображений по умолчанию. Просто установите RGB-каналы равными, чтобы он выглядел серым.

EDIT 2: Я исправил пример нормализации с [128,256] до [128,255].

+0

Спасибо много, что действительно помогло мне. – Jonas

+0

Добро пожаловать :) – seleciii44