FJCore を使用して WriteableBitmap を jpeg にエンコードする方法を見つけようとしています。WriteableBitmap が生のピクセルを提供することは理解していますが、FJCore が JpegEncoder メソッドに期待する形式に変換する方法がわかりません。JpegEncoder には 2 つのオーバーロードがあり、1 つは FluxJpeg.Core.Image を受け取り、もう 1 つは DecodedJpeg を受け取ります。
FluxJpeg.Core.Image を作成しようとしましたが、画像データに byte[][,] が必要です。byte[n][x,y] ここで、x は幅、y は高さですが、n がどうあるべきかわかりません。
n は、各ピクセルにエンコードされた argb 情報に対応するため、4 にする必要があると考えましたが、試してみると、FJCore が範囲外の引数をスローするという例外が発生しました。これが私が試したものです。Raster は私の byte[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);