2014-09-13 51 views
0

我製作了一個WPF畫布程序,讓用戶可以添加一些PNG模板並製作自己的新設計。無法從C#中的畫布保存透明PNG

我能完成工作

然而,當我試圖挽救,我得到的白色背景 有沒有辦法得到一個透明的輸出?

這是我在保存圖像

public void SaveTo(string f) 
    { 
     Visual v = Dc; 
     /// get bound of the visual 
     Rect b = VisualTreeHelper.GetDescendantBounds(v); 

     /// new a RenderTargetBitmap with actual size of c 
     RenderTargetBitmap r = new RenderTargetBitmap(
      (int)b.Width, (int)b.Height, 
      96, 96, PixelFormats.Pbgra32); 

     /// render visual 
     r.Render(v); 

     /// new a JpegBitmapEncoder and add r into it 
     JpegBitmapEncoder e = new JpegBitmapEncoder(); 
     e.Frames.Add(BitmapFrame.Create(r)); 

     /// new a FileStream to write the image file 
     FileStream s = new FileStream(f, 
      FileMode.OpenOrCreate, FileAccess.Write); 
     e.Save(s); 
     s.Close(); 
    } 
+0

你知道這是完全合法的使用超過一個字母一個變量名: – thumbmunkeys 2014-09-13 18:55:52

+0

對此看看 - http://stackoverflow.com/questions/388677/can-you-make-an -alpha-透明PNG-與-C – TechGiant 2014-09-13 18:57:08

回答