Метод bitmapSource copypixels не возвращает данные пикселей rgb - PullRequest
0 голосов
/ 20 февраля 2019

Я готовлю данные пикселей из PNG BitmapSource, используя метод CopyPixels.Однако вызов чтения в массив не возвращает данные о пикселях.

Есть ли причины, по которым это может произойти?

Я включил изображение ниже

PNG Sample

Редактировать:

Массив байтов нене содержит данных пикселей RGB.Массив просто содержит значение 0 для каждого элемента индекса.

Код:

using(FileStream stream = new FileStream(strImageFilename, FileMode.Open, FileAccess.Read, FileShare.Read))
    {
        if (stream.Length > 0)
        {
            BitmapDecoder bmpDecoder = BitmapDecoder.Create(stream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);

            BitmapSource bmpSourceFrame = bmpDecoder.Frames[0];

            int iStride = bmpSourceFrame.PixelWidth * ((bmpSourceFrame.Format.BitsPerPixel + 7) / 8);
            byte[] bytImage = new byte[iStride * bmpSourceFrame.PixelHeight];

            bmpSourceFrame.CopyPixels(bytImage, iStride, 0);
        }
     }
...