J'essaie d'enregistrer un contrôle wpf dans un fichier, mais j'applique un effet PixelShader, et lorsque j'essaie de sauvegarder, l'image enregistrée est entièrement blanche , noir ou rouge ... dépend des paramètres de l'effet.Enregistrement d'un visuel dans un fichier avec effet PixelShader - WPF
J'utilise le code ici: WPF - Programmatic Binding on a BitmapEffect
comment puis-je enregistrer correctement, il?
merci!
MISE À JOUR: le code que je utilise est:
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();
comment allez-vous l'économie du contrôle? –
ajouté le code à la question, merci! –