/// <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()); } }
//---------------------------------------- // 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(); } }
/// <summary> /// See interface docs. /// </summary> /// <param name="imageFormat"></param> /// <returns></returns> public abstract byte[] GetImageBytes(VrsDrawing.ImageFormat imageFormat);