MainWindow.xaml.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Windows;
  9. using System.Windows.Controls;
  10. using System.Windows.Data;
  11. using System.Windows.Documents;
  12. using System.Windows.Input;
  13. using System.Windows.Media;
  14. using System.Windows.Media.Imaging;
  15. using System.Windows.Navigation;
  16. using System.Windows.Shapes;
  17. using Microsoft.Win32;
  18. using MyWpfApp.models;
  19. using MyWpfApp.Pages;
  20. using static System.Net.Mime.MediaTypeNames;
  21. namespace MyWpfApp
  22. {
  23. /// <summary>
  24. /// Логика взаимодействия для MainWindow.xaml
  25. /// </summary>
  26. public partial class MainWindow : Window
  27. {
  28. ImageBindings imageBindings = new ImageBindings();
  29. public MainWindow()
  30. {
  31. DataContext = imageBindings;
  32. InitializeComponent();
  33. FrmMain.Navigate(new Auth());
  34. Globals.MyGlobalFrame = FrmMain;
  35. Globals.MyGlobalConnection = new Smerdova_PPEntities();
  36. }
  37. private void Button_Click(object sender, RoutedEventArgs e)
  38. {
  39. OpenFileDialog OFD = new OpenFileDialog();
  40. OFD.Filter = "Все файлы | *.*; | Изображения |*.jpg;*.png;";
  41. bool? success = OFD.ShowDialog();
  42. ImageConverter imageConverter = new ImageConverter();
  43. //создаем объект изображения по известному пути к картинке
  44. System.Drawing.Image image = System.Drawing.Image.FromFile(OFD.FileName);
  45. //преобразуем картинку в массив байт
  46. byte[] bytes = (byte[])imageConverter.ConvertTo(image, typeof(byte[]));
  47. //преобразуем массив байт в BitmapImage (т.к. его можно помещать в ImageSource)
  48. using (MemoryStream stream = new MemoryStream(bytes))
  49. {
  50. var BMimage = new BitmapImage();
  51. BMimage.BeginInit();
  52. BMimage.CacheOption = BitmapCacheOption.OnLoad;
  53. BMimage.StreamSource = stream;
  54. BMimage.EndInit();
  55. imageBindings.ImageSource = BMimage;
  56. }
  57. imageBindings.ImgPath = OFD.FileName;
  58. MessageBox.Show(imageBindings.ImgPath);
  59. }
  60. }
  61. }