Sto cercando di scoprire come utilizzare FJCore per codificare un WriteableBitmap in un file jpeg. Capisco che WriteableBitmap fornisce i pixel grezzi ma non sono sicuro di come convertirlo nel formato che FJCore si aspetta per il suo metodo JpegEncoder. JpegEncoder ha due overload, uno prende un FluxJpeg.Core.Image e l'altro prende un DecodedJpeg.Utilizzo di FJCore per la codifica di Silverlight WriteableBitmap
Stavo cercando di creare un FluxJpeg.Core.Image ma si aspetta un byte [] [,] per i dati dell'immagine. byte [n] [x, y] dove x è width e y è height ma non so quale n dovrebbe essere.
Ho pensato che n dovrebbe essere 4 dato che corrisponderebbe alle informazioni argb codificate in ciascun pixel ma quando ho provato che FJCore genera un argomento fuori dall'eccezione di intervallo. Ecco cosa ho provato. Raster è il mio byte [4] [x, y] array.
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);
Spero che non ti dispiaccia, ma ho usato il tuo codice campionare ed estenderlo a un articolo completo vedi: http://blog.blueboxes.co.uk/2009/07/21/rendering-xaml-to-a-jpeg-using-silverlight-3/ e ti attribuisci correttamente come sotto la licenza CC – John
Nessun problema. Sono contento che qualcuno stia beneficiando di questo. – RHLopez