Я пытаюсь выяснить, как использовать FJCore для кодирования WriteableBitmap в jpeg. Я понимаю, что WriteableBitmap предоставляет необработанные пиксели, но я не уверен, как преобразовать его в формат, который FJCore ожидает для своего метода JpegEncoder. JpegEncoder имеет две перегрузки, одна получает FluxJpeg.Core.Image, а другая принимает DecodedJpeg.
Я пытался создать FluxJpeg.Core.Image, но он ожидает байта [] [,] для данных изображения. byte [n] [x, y] где x - ширина, а y - высота, но я не знаю, каким должно быть n.
Я думал, что n должно быть 4, так как это будет соответствовать информации argb, закодированной в каждом пикселе, но когда я попытался, FJCore выбрасывает аргумент вне диапазона исключений. Вот что я попробовал. Растр - это мой байтовый массив [4] [x, y].
raster[0][x, y] = (byte)((pixel >> 24) & 0xFF);
raster[1][x, y] = (byte)((pixel >> 16) & 0xFF);
raster[2][x, y] = (byte)((pixel >> 8) & 0xFF);
raster[3][x, y] = (byte)(pixel & 0xFF);