Как конвертировать байтовый массив обратно в JPEG в C ++ - PullRequest
0 голосов
/ 08 ноября 2019

Так что в приведенном ниже коде я использовал fstream для чтения файла и преобразования его в байтовый вектор, мне было интересно, есть ли способ преобразовать его обратно в изображение JPEG без загрузки внешней библиотеки C ++. Я чувствую, что должен быть способ просто взять байтовый массив и как-то вернуть изображение.

std::vector<unsigned int> getByteArray(std::string filename){
    // Define file stream object, and open the file
    std::ifstream file (filename, std::ios::binary); //reads in the file

    // Prepare iterator pairs to iterate the file content!
    std::istream_iterator<unsigned char> begin(file), end; //creates an iterator of type unsigned char to read from begin of ile to end

    std::vector<unsigned int> buffer(begin,end); //putting the values in a vector called buffer

    //std::copy(buffer.begin(), buffer.end(), std::ostream_iterator<unsigned int>(std::cout <<","));
    for(int i=0;i<buffer.size();i++){
        std::cout<<buffer[i];
    }



}

1 Ответ

2 голосов
/ 08 ноября 2019

Вы уже получили его.

Вы прочитали все байты, составляющие ваш файл JPEG.

У вас все еще есть их.

Вы можете просто написатьверните их на диск или делайте что хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...