2017-01-12 7 views
-4

C#では、ハードディスクからBMPイメージを読み込み、それをバイト配列に変換してからbase64文字列に変換するために、次のコードを使用します。8ビットBMPイメージをbase64に変換するString

私の質問はC++でどうやって行うのですか?画像は、ここでは8ビット深度

あなたはサードパーティのライブラリを使用する必要があります私のC#のコード

System.Drawing.Image temp = System.Drawing.Image.FromFile(path); 
System.Drawing.ImageConverter converter = new ImageConverter(); 
String imgString = Convert.ToBase64String((byte[])converter.ConvertTo(temp, typeof(byte[]))); 
+2

C#と同じです。ファイルを読み込み、http://www.adp-gmbh.ch/cpp/common/base64.htmlを使用してエンコードして完了します。 – jamek

+2

@RawN C#タグを削除したことを意味しましたか? OPはそれをC++でやりたがっています。 – Borgleader

+0

http://www.adp-gmbh.ch/cpp/common/base64.html – Bauss

答えて

0

である - .NETでありのようなC++には「標準」base64エンコーディングはありません。 base64 decode snippet in c++

Baussによってリンクbase64でライブラリを使用して、以下の(未テスト)のコードは、あなたが欲しいものを行う必要があります。

は、リンクやCでbase64エンコードのスニペット++ここにあります。

#include <fstream> 
#include <iostream> 
#include <iterator> 
#include <string> 
#include <vector> 

#include "base64.h" //http://www.adp-gmbh.ch/cpp/common/base64.html 

using namespace std; 
string encodeFile(string file) 
{ 
    ifstream input(file, ios::binary); 
    vector<char> rawData(istreambuf_iterator<char>(input), istreambuf_iterator<char>()); 
    return base64_encode(&rawData[0], rawData.size()); 
} 
関連する問題