Как из uint8 сделать QIcon?

195
11 ноября 2021, 06:40

У меня есть переменная типа uint8*, которая "заполнена" картинкой. Как преобразовать её в QIcon? А вот функция, которая заполняет переменную типа uint8 картинкой - https://partner.steamgames.com/doc/api/ISteamUtils#GetImageRGBA

Answer 1

Для начала, попробуйте просто ее вывести, задав значение переменным width, height, buffer (ширина и высота должны быть равны количеству пикселей, умноженному на число байт к пикселю: обычно 3 для RGB и 4 для RGBA, попробуйте оба варианта). Получить QIcon можно преобразовав QImage в QPixmap, далее можно просто использовать конструктор...

#include <QApplication>
#include <QPixmap>
#include <QImage>
#include <QDialog>
#include <QLabel>
int main(int argc, char *argv[]) 
{
    QApplication app(argc, argv);
    QDialog *dialog = new QDialog();
    QLabel *label = new QLabel(dialog);
    int width;
    int height;
    unsigned char* buffer;
    QImage img(buffer, width, height, QImage::Format_RGBA8888);
    label->setPixmap(QPixmap::fromImage(img));
    label->resize(width, height);
    dialog->show();
    return app.exec();
}
READ ALSO
Как такое реализуется

Как такое реализуется

Нужна помощь или совет как реализовать такую задачу:Надо отсортировать массив и вывести все этапы сортировкиМассивы я отсортировал и программа...

112
Каково состояние объектов стандартной библиотеки после перемещения?

Каково состояние объектов стандартной библиотеки после перемещения?

Скажите, пожалуйста, в каком состоянии находятся объекты стандартной библиотеки после перемещения? Можно ли продолжать их использовать?

79
Как найти площадь прямоугольника или помогите найти ошибку в коде [закрыт]

Как найти площадь прямоугольника или помогите найти ошибку в коде [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

192
jQuery append не добавляет &lt;tr&gt; и &lt;td&gt;

jQuery append не добавляет <tr> и <td>

делаю подгрузку контента через ajax, всё вроде бы шло хорошо, но когда пытаюсь вывести всё через $("#articles")append("

123