我想了解如何使用FJCore将WriteableBitmap编码为jpeg。我知道WriteableBitmap提供了原始像素,但我不确定如何将其转换为FJCore对其JpegEncoder方法的预期格式。 JpegEncoder有两个重载,一个需要一个FluxJpeg.Core.Image,另一个需要一个DecodedJpeg。使用FJCore编码Silverlight WriteableBitmap
我试图创建一个FluxJpeg.Core.Image,但它需要一个字节[] [,]作为图像数据。 byte [n] [x,y]其中x是宽度,y是高度,但我不知道应该是什么n。
我认为n应该是4,因为那将对应于在每个像素中编码的argb信息,但是当我尝试FJCore抛出一个参数超出范围异常。这是我试过的。栅格是我的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);
希望你不介意,但我用你的代码并将其扩展为完整的文章,请参阅:http://blog.blueboxes.co.uk/2009/07/21/rendering-xaml-to-a-jpeg-using-silverlight-3/,并将您正确归因于根据CC许可证 – John 2009-07-21 19:53:32