我在 IImageProvider 接口(interface)后面有一个图像源,我正在尝试访问它的像素。 IImageProvider 里面有一个方法: imageProvider.GetBitmapAsync(bitmapToFill)

  • 我无法获得 WriteableBitmap,因为我在非 UI 线程上运行。我无法实例化一个空的 WriteableBitmap 来写入,这很不幸,因为我可以从中访问像素..
  • 我可以用数据填充 Bitmap 对象,但无法在 Windows Phone 上访问其像素(缺少 system.drawing...)

  • 如何访问 IImageProvider 后面源的单个像素?

    最佳答案

    你试过这个吗?

    var bitmap = await imageSource.GetBitmapAsync(null, OutputOption.PreserveAspectRatio);
    var pixels = bitmap.Buffers[0];
    for (uint i = 0; i < pixels.Buffer.Length; i++)
        {
            var val = pixels.Buffer.GetByte(i);
        }
    
  • i = R ... [0]
  • i+1 = G ... [1]
  • i+2 = B ... [2]
  • i+3 = A ... [3]

  • 等等

    imageSource 是您的 IImageProvider,我使用 BufferImageSource 对其进行了测试。

    关于c# - 如何访问 IImageProvider 后面的像素(WP8 上的诺基亚成像 SDK),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20453095/

    10-10 18:49