如何用C++读取图片中的像素

来源:https://bbs.csdn.net/topics/391956973  3楼

#include 
#include 
#include <string>
#include 
#include 
#pragma comment(lib, "gdiplus.lib")
 
using namespace std;
using namespace Gdiplus;
 
int main() {
    GdiplusStartupInput gdiplusstartupinput;
    ULONG_PTR gdiplustoken;
    GdiplusStartup(&gdiplustoken, &gdiplusstartupinput, NULL);
 
    wstring infilename(L"1.jpg");
    string outfilename("color.txt");
 
    Bitmap* bmp = new Bitmap(infilename.c_str());
    UINT height = bmp->GetHeight();
    UINT width  = bmp->GetWidth();
    cout << "width " << width << ", height " << height << endl;
 
    Color color;
    ofstream fout(outfilename.c_str());
 
    for (UINT y = 0; y < height; y++)
    for (UINT x = 0; x < width ; x++) {
            bmp->GetPixel(x, y, &color);
            fout << x << "," << y << ";"
                 << (int)color.GetRed()   << ","
                 << (int)color.GetGreen() << ","
                 << (int)color.GetBlue()  << endl;
    }
 
    fout.close();
 
    delete bmp;
    GdiplusShutdown(gdiplustoken);
    return 0;
}

 

转载于:https://www.cnblogs.com/Toya/p/11431992.html

你可能感兴趣的:(如何用C++读取图片中的像素)