我正在尝试使用FJCore将WriteableBitmap编码成jpeg格式。我知道WriteableBitmap提供了原始像素,但我不确定如何将其转换为FJCore JpegEncoder方法所需的格式。JpegEncoder有两个重载版本,一个接受FluxJpeg.Core.Image,另一个接受DecodedJpeg。
我尝试创建FluxJpeg.Core.Image,但它需要一个byte[][,]的图像数据。byte[n][x,y],其中x是宽度,y是高度,但我不知道n应该是多少。
我认为n应该是4,因为这与每个像素中编码的argb信息相对应,但当我尝试时,FJCore会抛出参数超出范围异常。这是我尝试过的内容。Raster是我的byte[4][x,y]数组。
我尝试创建FluxJpeg.Core.Image,但它需要一个byte[][,]的图像数据。byte[n][x,y],其中x是宽度,y是高度,但我不知道n应该是多少。
我认为n应该是4,因为这与每个像素中编码的argb信息相对应,但当我尝试时,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);