示例#1
0
        /// <summary>
        /// See base docs.
        /// </summary>
        /// <param name="imageFormat"></param>
        /// <returns></returns>
        public override byte[] GetImageBytes(VrsDrawing.ImageFormat imageFormat)
        {
            using (var memoryStream = new MemoryStream()) {
                GdiPlusLock.EnforceSingleThread(() => {
                    NativeImage.Save(
                        memoryStream,
                        Convert.ToSystemDrawingImageFormat(imageFormat)
                        );
                });

                return(memoryStream.ToArray());
            }
        }
示例#2
0
        //----------------------------------------
        // IMAGE FORMAT
        //----------------------------------------

        public static ImageFormat ToSystemDrawingImageFormat(VrsDrawing.ImageFormat vrsImageFormat)
        {
            switch (vrsImageFormat)
            {
            case VrsDrawing.ImageFormat.Bmp:    return(ImageFormat.Bmp);

            case VrsDrawing.ImageFormat.Gif:    return(ImageFormat.Gif);

            case VrsDrawing.ImageFormat.Jpeg:   return(ImageFormat.Jpeg);

            case VrsDrawing.ImageFormat.Png:    return(ImageFormat.Png);

            default:                            throw new NotImplementedException();
            }
        }
示例#3
0
 /// <summary>
 /// See interface docs.
 /// </summary>
 /// <param name="imageFormat"></param>
 /// <returns></returns>
 public abstract byte[] GetImageBytes(VrsDrawing.ImageFormat imageFormat);