Tôi đang cố gắng tìm hiểu cách sử dụng FJCore để mã hóa WriteableBitmap thành jpeg. Tôi hiểu rằng WriteableBitmap cung cấp các pixel thô nhưng tôi không chắc chắn cách chuyển đổi nó thành định dạng mà FJCore mong đợi cho phương thức JpegEncoder của nó. JpegEncoder có hai quá tải, một mất một FluxJpeg.Core.Image và khác mất trong một DecodedJpeg.Sử dụng FJCore để mã hóa Silverlight WriteableBitmap
Tôi đã cố gắng tạo FluxJpeg.Core.Image nhưng dự kiến một byte [] [,] cho dữ liệu hình ảnh. byte [n] [x, y] trong đó x là chiều rộng và y là chiều cao nhưng tôi không biết n là gì.
Tôi nghĩ rằng n phải là 4 vì nó sẽ tương ứng với thông tin argb được mã hóa trong mỗi pixel nhưng khi tôi thử rằng FJCore ném một đối số ra khỏi phạm vi ngoại lệ. Đây là những gì tôi đã thử. Raster là mảng byte [4] [x, y] của tôi.
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);
Hy vọng bạn không nhớ nhưng tôi đã sử dụng mã của bạn mẫu và mở rộng nó vào một bài viết đầy đủ, xem: http://blog.blueboxes.co.uk/2009/07/21/rendering-xaml-to-a-jpeg-using-silverlight-3/ và cho bạn biết chính xác là theo giấy phép CC – John
Không sao. Vui mừng một người nào đó được hưởng lợi từ việc này. – RHLopez