Encontrar cores de pixel específicas de um BitmapImage
Eu tenho um BitmapImage WPF que eu carreguei de um arquivo .JPG, da seguinte maneira:
this.m_image1.Source = new BitmapImage(new Uri(path));
Eu quero perguntar sobre o que a cor é em pontos específicos. Por exemplo, qual é o valor RGB em pixel (65,32)?
Como eu faço isso? Eu estava tomando essa abordagem:
ImageSource ims = m_image1.Source;
BitmapImage bitmapImage = (BitmapImage)ims;
int height = bitmapImage.PixelHeight;
int width = bitmapImage.PixelWidth;
int nStride = (bitmapImage.PixelWidth * bitmapImage.Format.BitsPerPixel + 7) / 8;
byte[] pixelByteArray = new byte[bitmapImage.PixelHeight * nStride];
bitmapImage.CopyPixels(pixelByteArray, nStride, 0);
Embora eu confesse que há um pouco de macaco, o macaco continua com esse código. De qualquer forma, existe uma maneira simples de processar essa matriz de bytes para converter em valores RGB?