2013-11-11 2 views
0

Я хочу получить значения R, G и B пикселей изображения. Я уже делал это с HDC, но теперь я хотел бы завершить его с помощью Gdi + и входного изображения.Получить пиксельный цвет изображения

Это мой код до сих пор:

#include <iostream> 
#include <stdlib.h> 
#include <windows.h> 
#include "gdiplus.h" 
#include "stdio.h" 
#include "iostream" 

using namespace Gdiplus; 
using namespace std; 

void main(int argc, char* argv[]) 
{ 
Bitmap* mybitmap = new("bink.bmp"); 
int x=0; 
int y=0; 
Color pixelColor; 
//Color pixelcolor[1000][1000]; 
for (x = 0; x < 640; x++) 
    { 
     for (y = 0; y < 480; y++) 
     { 
      //Color pixelColor[x][y] = mybitmap->GetPixel(x,y); 
     mybitmap->GetPixel(x,y, &pixelColor); 
     cout << "Pixel color " << x << ", " << y; "is " << pixelColor; 
     //cout << "Pixel color " << x << ", " << y; "is " << pixelColor[x][y]; 
     } 
    } 
} 

Это не работает ... может вы как-то помочь?

+1

что это значит «не работает»? –

+4

Вы уверены в этом 'Bitmap * mybitmap = new (" bink.bmp ");'? – Jigsore

+0

«Это не работает» немного расплывчато. Для меня это похоже на то, что он даже не компилируется. Откуда у вас ошибка? – PMF

ответ

0

вы должны использовать pixelColor.GetGreen, pixelColor.GetRed, pixelColor.GetBlue

Смежные вопросы