1

wpf コントロールをファイルに保存しようとしていますが、それに PixelShader 効果を適用しています。保存しようとすると、保存された画像が完全に白、黒、または赤になります...効果のパラメーターによって異なります.

ここでコードを使用しています: WPF - BitmapEffect でのプログラムによるバインド

どうすれば適切に保存できますか?

ありがとう!

更新:私が使用しているコードは次のとおりです。

        BitmapSource bitmap = preview.Source as BitmapImage;
        Rectangle r = new Rectangle();
        r.Fill = new ImageBrush(bitmap);
        r.Effect = effect;
        Size sz = new Size(bitmap.PixelWidth, bitmap.PixelHeight);
        r.Measure(sz);
        r.Arrange(new Rect(sz));
        var rtb = new RenderTargetBitmap(bitmap.PixelWidth, bitmap.PixelHeight, bitmap.DpiX, bitmap.DpiY, PixelFormats.Pbgra32);
        rtb.Render(r);

        PngBitmapEncoder png = new PngBitmapEncoder();
        png.Frames.Add(BitmapFrame.Create(rtb));

        Stream stm = File.Create("new.png");
        png.Save(stm);
        stm.Close();
4

1 に答える 1