Colors 使用Gdiplus获取图像的像素值 这是一件很简单的事情,但我并没有真正接受C++的训练。我只需要得到图像的每个像素值。假设它是“C:\LM3S811\red.bmp”,169x104像素

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

通过谷歌搜索这个话题,我确信微软SDK的gdiplus应该能够做到这一点。下面是我获取每个像素的红色值的代码:

    #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