首页 > 编程语言 > 详细

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

时间:2019-08-29 22:40:04      阅读:551      评论:0      收藏:0      [点我收藏+]

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

#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <gdiplus.h>
#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;
}

 

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

原文:https://www.cnblogs.com/Toya/p/11431992.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!