在WPF中保存透明画布时出现问题

时间:2011-10-10 05:33:57

标签: wpf

我在WPF中用红色背景创建了一个Grid。网格包含一个固定大小的透明画布。现在,在尝试将Canvas导出为图像时,我得到的图像为黑色背景。但是当画布中有一些颜色(比如白色或红色)时,我会得到一个合适的图像。任何人都可以告诉我为什么如果Canvas具有透明色,图像会产生黑色背景。

示例:

Grid grid = new Grid();
            grid.Background = new SolidColorBrush(Colors.Red);
            grid.Width = 500;
            grid.Height = 300;

            Canvas c = new Canvas();
            c.Width = 500;
            c.Height = 300;
            c.Background = new SolidColorBrush(Colors.Transparent);
            c.MouseLeftButtonUp += new MouseButtonEventHandler(c_MouseLeftButtonUp);

            grid.Children.Add(c);

            LayoutRoot.Children.Add(grid);

在Canvas的MouseEvent处理程序中,我将其保存为jpg图像。

1 个答案:

答案 0 :(得分:2)

  

在Canvas的MouseEvent处理程序中,我将其保存为 jpg 图像。

将其另存为PNG。这些类型的图像专门用于保存透明背景。