public IBasicImage RenderToImageInMemory() { float density = 1; float dpi = 96; using (var g = System.Drawing.Graphics.FromHwnd(IntPtr.Zero)) { dpi = g.DpiX; density = g.DpiX/96f; } var bitmap = new RenderTargetBitmap((int)(BoundsWidth * density), (int)(BoundsHeight * density), dpi, dpi, PixelFormats.Default); bitmap.Render(_drawingVisual); bitmap.Freeze(); var image = new BasicImage(bitmap); return image; }
public IBasicImage CreateImageFromByteArray(byte[] data, int width, int height) { BitmapImage bitmap = null; try { var stream = new MemoryStream(data); stream.Seek(0, SeekOrigin.Begin); bitmap = new BitmapImage(); bitmap.BeginInit(); bitmap.StreamSource = stream; bitmap.EndInit(); bitmap.Freeze(); } catch (Exception ex) { //Console.WriteLine("DisposableImageFactory - Failed to create bitmap from byte array: {0}", ex); return null; } var image = new BasicImage(bitmap); return image; }