WPF writeable bitmap copypixels

0
int width = originalImage.PixelHeight;
            int height = originalImage.PixelWidth;
            int widthInByte = width * 4;
            int[] pixelData = new int[width * height];
            originalImage.CopyPixels(pixelData, widthInByte, 0);

originalImage jest typu WriteableBitmap

dostaję error : System.ArgumentOutOfRangeException: „Wartość parametru nie może być mniejsza niż „1264”.”

co robię nie tak

0

nie wiem czemu ta wartość ma być większa od 1264, jak zmieniam parametry to zmienia się też ta minimalna wartość, język Polski mi tu nie pomógł

0

poprawiłem, trzeba było zmiecić width na

stride = originalImage.PixelWidth * (originalImage.Format.BitsPerPixel + 7) / 8;

a typ tablicy pixelData na byte
teraz mam taki error, nigdzie nie mogę znaleźć odpowiedzi
Wartość jest spoza oczekiwanego zakresu
kod:

int width = originalImage.PixelHeight;
            int height = originalImage.PixelWidth;
       

            int stride = originalImage.PixelWidth * (originalImage.Format.BitsPerPixel + 7) / 8;
            byte[] inputPixels = new byte[stride * height];

           

            originalImage.CopyPixels( inputPixels, stride, 0);
            byte[] outputPixels = new byte[stride * height];

            for(int i=0;i<inputPixels.Length;++i)
            {
                outputPixels[i] = inputPixels[i];
            }

            BitmapSource bitmapSource = new FormatConvertedBitmap(originalImage, PixelFormats.Pbgra32, null, 0);
            WriteableBitmap bmp2= new WriteableBitmap(
                 originalImage.PixelWidth,
                 originalImage.PixelHeight,
                 originalImage.DpiX, originalImage.DpiY,
                 originalImage.Format, null);

            bmp2.WritePixels(new Int32Rect(0, 0, width, height), outputPixels,stride, 0);
0

edit bug dotyczy linii writepixels

1 użytkowników online, w tym zalogowanych: 0, gości: 1