Ejemplo n.º 1
0
        public static byte[] ToByteArray(this BitmapFrame frame, BitmapFrameFormatMode mode = BitmapFrameFormatMode.Png)
        {
            if (frame.IsNullOrEmpty())
            {
                return(null);
            }

            byte[] result = null;
            using (MemoryStream stream = new MemoryStream())
            {
                BitmapEncoder encoder = mode.GetBitmapEncoder();

                if (encoder != null)
                {
                    encoder.Frames.Add(frame);
                    encoder.Save(stream);
                    result = stream.ToArray();
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public static BitmapEncoder GetBitmapEncoder(this BitmapFrameFormatMode mode)
        {
            BitmapEncoder encoder = null;

            switch (mode)
            {
            case BitmapFrameFormatMode.Bmp:
                encoder = new BmpBitmapEncoder();
                break;

            case BitmapFrameFormatMode.Jpeg:
                encoder = new JpegBitmapEncoder();
                break;

            case BitmapFrameFormatMode.Gif:
                encoder = new GifBitmapEncoder();
                break;

            case BitmapFrameFormatMode.Png:
                encoder = new PngBitmapEncoder();
                break;

            case BitmapFrameFormatMode.Tiff:
                encoder = new TiffBitmapEncoder();
                break;

            case BitmapFrameFormatMode.Wmp:
                encoder = new WmpBitmapEncoder();
                break;

            default:
                encoder = null;
                break;
            }

            return(encoder);
        }