CSharp examples for System.Windows.Media.Imaging:BitmapSource
Copies the BitmapSource pixels to a 2-dimensional array
using System.IO;/*from www . jav a2 s. c o m*/ using System.Windows.Media; using System.Runtime.InteropServices; using System.Windows.Media.Imaging; using System.Text; using System.Linq; using System.Collections.Generic; using System; public class Main{ private static void CopyPixels(BitmapSource source, PixelColor[,] pixels, int stride, int offset) { var height = source.PixelHeight; var width = source.PixelWidth; var pixelBytes = new byte[height * width * 4]; source.CopyPixels(pixelBytes, stride, 0); int y0 = offset / width; int x0 = offset - width * y0; for (int y = 0; y < height; y++) for (int x = 0; x < width; x++) pixels[x + x0, y + y0] = new PixelColor { Blue = pixelBytes[(y * width + x) * 4 + 0], Green = pixelBytes[(y * width + x) * 4 + 1], Red = pixelBytes[(y * width + x) * 4 + 2], Alpha = pixelBytes[(y * width + x) * 4 + 3], }; } }