C++获取得到图片的坐标和rgb

#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, nullptr);
	
	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 (int y = 0; y < height; y++)
		for (int 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;
}

  

posted @ 2016-01-10 22:47  持之  阅读(2518)  评论(0编辑  收藏  举报