예제 #1
0
        public void PrintPdf(UI.Controls.CalendrierCtrl Calendrier)
        {
            try
            {
                string folderImage = ConfigurationManager.AppSettings["FolderSaveImage"].ToString();

                RenderTargetBitmap image = GetImage(Calendrier);

                PngBitmapEncoder encoder = new PngBitmapEncoder();
                encoder.Frames.Add(BitmapFrame.Create(image));

                using (Stream fileStream = new FileStream(folderImage + "Image_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".png", FileMode.OpenOrCreate, FileAccess.Write))
                {
                    encoder.Save(fileStream);
                }
            }
            catch (Exception ex)
            {
                string message = "Un problème est survenu lors de l'exportation en PDF ! \n \n" + ex;
                MessageBox.Show(message);
            }
        }
예제 #2
0
        private static RenderTargetBitmap GetImage(UI.Controls.CalendrierCtrl view)
        {
            Size size = new Size(view.ActualWidth, view.ActualHeight);

            if (size.IsEmpty)
            {
                return(null);
            }

            RenderTargetBitmap result = new RenderTargetBitmap((int)size.Width, (int)size.Height, 96, 96, PixelFormats.Default);

            DrawingVisual drawingvisual = new DrawingVisual();

            using (DrawingContext context = drawingvisual.RenderOpen())
            {
                context.DrawRectangle(new VisualBrush(view), null, new Rect(new Point(), size));
                context.Close();
            }

            result.Render(drawingvisual);
            return(result);
        }