Colors 使用Gdiplus获取图像的像素值 这是一件很简单的事情,但我并没有真正接受C++的训练。我只需要得到图像的每个像素值。假设它是“C:\LM3S811\red.bmp”,169x104像素
通过谷歌搜索这个话题,我确信微软SDK的gdiplus应该能够做到这一点。下面是我获取每个像素的红色值的代码:Colors 使用Gdiplus获取图像的像素值 这是一件很简单的事情,但我并没有真正接受C++的训练。我只需要得到图像的每个像素值。假设它是“C:\LM3S811\red.bmp”,169x104像素,colors,bitmap,gdi+,pixel,getpixel,Colors,Bitmap,Gdi+,Pixel,Getpixel,通过谷歌搜索这个话题,我确信微软SDK的gdiplus应该能够做到这一点。下面是我获取每个像素的红色值的代码: #include <iostream> #include <windows.h> #include <gdiplus.h> using namespace Gdiplus; using namespace std; #pragma comment (lib, "Gdiplus.lib") in
#include <iostream>
#include <windows.h>
#include <gdiplus.h>
using namespace Gdiplus;
using namespace std;
#pragma comment (lib, "Gdiplus.lib")
int main(){
// set bitmap to "C:\LM3S811\red.bmp"
Bitmap myBitmap (L"C:\\LM3S811\\red.bmp");
Color pixelColor;
// print red value of each pixel of 169x104 pixel
for (int y = 1; y <= 104; y++){
for (int x = 1; x <= 169; x++){
myBitmap.GetPixel(x, y, &pixelColor);
cout << (int)pixelColor.GetRed() << ",";
}
}
// end
cout << endl;
system("PAUSE");
return 0;
}
#包括
#包括
#包括
使用名称空间Gdiplus;
使用名称空间std;
#pragma注释(lib,“Gdiplus.lib”)
int main(){
//将位图设置为“C:\LM3S811\red.bmp”
位图myBitmap(L“C:\\LM3S811\\red.bmp”);
彩色像素;
//打印169x104像素每个像素的红色值
for(int y=1;yfor循环应以0开头…如下所示:
for (int y = 0; y < myBitmap.GetHeight(); y++){
for (int x = 0; x < mybitmap.GetWidth(); x++){
for(int y=0;y
否则你的代码在我看来没问题…也许你的位图有问题?试过另一个吗?也许是jpeg