从图像中获取RGB颜色百分比

本文关键字:颜色 百分比 RGB 获取 图像 | 更新日期: 2023-09-27 18:28:11

如何使用可写位图从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应用程序中使用可写位图来实现这一点?

从图像中获取RGB颜色百分比

查看BitmapDecoder类。它应该有你需要的一切。

基本上,异步获取像素数据,然后使用它。请注意,有时像素数据保存在16位块中(每个块两个字节),因此您必须对字节数组进行快速Linq调用,才能将其转换为可用的像素数组。