Я пытаюсь сохранить элемент управления wpf в файл, но я применяю к нему эффект PixelShader, и когда я пытаюсь сохранить, сохраненное изображение полностью белое, черное или красное ... зависит от параметров эффекта.
Я использую код здесь: WPF - Программная привязка для BitmapEffect
как мне правильно его сохранить?
спасибо!
UPDATE:
код, который я использую:
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();