W WPF, funkcja System.Windows.Clipboard.getImage()
zwraca obiekt BitmapSource
. Jako początkujący w WPF pochodzący z tła WinForms, nie jest dla mnie jasne, jak zapisać ten obraz do pliku. Jakie kroki muszę podjąć?Jak zapisać obraz WPF do pliku
25
A
Odpowiedz
56
Należy użyć enkodera (podklasa BitmapEncoder
). Na przykład, aby zapisać go w formacie PNG, można zrobić coś takiego:
public static void SaveClipboardImageToFile(string filePath)
{
var image = Clipboard.GetImage();
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(image));
encoder.Save(fileStream);
}
}
Nawiasem mówiąc, należy pamiętać, że istnieje a bug in Clipboard.GetImage
. Nie powinno to stanowić problemu, jeśli po prostu zapiszesz obraz w pliku, ale będzie on, jeśli chcesz go wyświetlić.
EDIT: bug wspomniano powyżej wydaje się być ustalona w 4,0
Powiązane problemy
- 1. Jak zapisać obraz kontrolny wykresu do pliku?
- 2. Jak zapisać obraz jako obraz?
- 3. Obraz WPF do bajtu []
- 4. Jak zapisać obraz ze schowka do pliku w UWP
- 5. Jak obrócić obraz i zapisać obraz
- 6. Jak zapisać obraz z płótna
- 7. Jak zapisać UIImage do pliku?
- 8. Jak zapisać wyjście pliku AUGraph do pliku?
- 9. Jak zapisać obraz w MySQL?
- 10. W Dlib jak zapisać obraz z nakładką?
- 11. jak zapisać panel jako obraz w ruchu?
- 12. Jak zapisać obraz za pomocą libcurl
- 13. Jak zapisać wyjście błędów gcc do pliku
- 14. Jak zapisać podsumowanie (lm) do pliku?
- 15. Jak mogę zapisać sesję R do pliku?
- 16. Jak zapisać pliki cookie HtmlUnit do pliku?
- 17. jak zapisać wygenerowaną zawartość DOMPDF do pliku?
- 18. Jak zapisać plik PictureBox.Image do pliku?
- 19. Jak zapisać numpy zamaskowaną tablicę do pliku
- 20. Jak zapisać obraz na rolce z aparatu?
- 21. Jak zapisać obraz z płótna Three.js?
- 22. zapisać wiadomość pylint do pliku
- 23. iPhone przechowywać obraz z imageview do pliku
- 24. Jak zapisać obraz za pomocą obrazu django?
- 25. Jak zapisać zmieniony obraz w MATLAB?
- 26. Jak zapisać kod svg jako obraz .svg?
- 27. Jak mogę zapisać obraz z PIL?
- 28. jak zapisać płótno jako obraz png?
- 29. opencv: jak zapisać tablicę float jako obraz
- 30. opencv - jak zapisać obraz Mat w filestorage
To nie skompilować na moim komputerze. Parametry BitmapFrame.Create to URI lub strumień, a nie obraz: \ –
@IgnacioSolerGarcia Ta metoda istnieje w WPF: https://msdn.microsoft.com/en-us/library/ms615993(v=vs.110).aspx. Jaką aplikację robisz? –
Masz rację, przepraszam. Zrobiłem szybką aplikację sprawdzającą koncepcję z WinForms. –