본문 바로가기
닷넷/WPF

Toolkit Chart 이미지 저장하기

by hyperhand 2010. 6. 14.

            SaveFileDialog dlg = new SaveFileDialog();
            dlg.Filter = "PNG Image Files (.png)|*.png";
            dlg.DefaultExt = ".png";
           
            if (dlg.ShowDialog() != true)
                return;
            string path = dlg.SafeFileName ;
            FileStream fs = new FileStream(path, FileMode.Create);
            RenderTargetBitmap bmp = new RenderTargetBitmap((int)chart.ActualWidth,
                (int)chart.ActualHeight,1/ 96, 1/ 96, PixelFormats.Default);
            bmp.Render(chart);
            PngBitmapEncoder encoder = new PngBitmapEncoder();           
            //encoder.QualityLevel = 100;
            encoder.Frames.Add(BitmapFrame.Create(bmp));
            encoder.Save(fs);
            fs.Close();

 

 이렇게 하면 WPF Chart 를 PNG 파일로 저장합니다.

 

 

 조금 이상하게 저장되는거 같은데.. 내가 잘못해서 그런가.. 갸웃..

 

 JPG로 저장하면 배경부분이 까만색이라서 PNG로 돌려야 했네여...

 

 Chart에서 이미지를 저장하는 기능이 없어서 어떻게 하나 하고 애먹었는데..

 

 bmp.Render 에 컨트롤을 넣으면 그냥 되나봐요....

 

 이미지 저장기능이 없다고 한참을 찾아 헤맨끝에 찾아낸 해결책...

너무나 허무하다 싶게 간단하네요.

 

 자유도가 WPF에서는 높아진건가...

 

 예전엔  리드툴이나 아큐소프트 , 아님 CImage 같은 클래스를 이용해서 어쩌구 저쩌구 해야 했는데

 너무 쉽게 많은 기능을 제공해주는군요.

반응형