0

Как получить процентные значения цвета RGB из изображения в магазине приложений Windows с помощью записываемого растрового изображения.Получить процент RGB-цвета из изображения

В приложении Windows, я получаю это раньше, как это:

public static Color getDominantColor(Bitmap bmp) 
{ 

     //Used for tally 
     int r = 0; 
     int g = 0; 
     int b = 0; 

    int total = 0; 

    for (int x = 0; x < bmp.Width; x++) 
    { 
      for (int y = 0; y < bmp.Height; y++) 
      { 
       Color clr = bmp.GetPixel(x, y); 

       r += clr.R; 
       g += clr.G; 
       b += clr.B; 

       total++; 
      } 
    } 

    //Calculate average 
    r /= total; 
    g /= total; 
    b /= total; 

    return Color.FromArgb(r, g, b); 
} 

Как вы можете сделать это с помощью доступного для записи растрового изображения в Metro App?

ответ

1

Проверьте класс BitmapDecoder. Он должен иметь все, что вам нужно.

В принципе, получить данные пикселя асинхронно, а затем использовать его так, как вы. Просто имейте в виду, что иногда пиксельные данные сохраняются в 16-битных кусках (по два байта каждый), поэтому вам придется выполнить быстрый вызов Linq в массиве байтов, чтобы превратить его в полезный пиксельный массив.