none
Gravar imagem duma aplicação wpf para o SQL SERVER 2008 RRS feed

  • Pergunta

  • O código que passo não é meu (é um exemplo de wpf e webcam). Gostava de saber como posso transformar esta parte do código de gravar em ficheiro, para salvar directamente  numa base de dados SQL Server 2008. Existe algum código sobre uma pequena aplicação WPF que tire imagens do sql para uma pequena apresentação de slideshow?


    Ats, John PT

     //Block Memory Leak
        [System.Runtime.InteropServices.DllImport("gdi32.dll")]
        public static extern bool DeleteObject(IntPtr handle);
        public static BitmapSource bs;
        public static IntPtr ip;
        public static BitmapSource LoadBitmap(System.Drawing.Bitmap source)
        {
    
          ip = source.GetHbitmap();
    
          bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(ip, IntPtr.Zero, System.Windows.Int32Rect.Empty,
    
            System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
    
          DeleteObject(ip);
    
          return bs;
    
        }
        public static void SaveImageCapture(BitmapSource bitmap)
        {
          JpegBitmapEncoder encoder = new JpegBitmapEncoder();
          encoder.Frames.Add(BitmapFrame.Create(bitmap));
          encoder.QualityLevel = 100;
    
    
          // Configure save file dialog box
          Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
          dlg.FileName = "Image"; // Default file name
          dlg.DefaultExt = ".Jpg"; // Default file extension
          dlg.Filter = "Image (.jpg)|*.jpg"; // Filter files by extension
    
          // Show save file dialog box 
          Nullable<bool> result = dlg.ShowDialog();
    
          // Process save file dialog box results parte do código que gostva de alterar
          if (result == true)
          {
            // Save Image
            string filename = dlg.FileName;
            FileStream fstream = new FileStream(filename, FileMode.Create);
            encoder.Save(fstream);
            fstream.Close();
          }
    
        }
      }
    quarta-feira, 18 de agosto de 2010 21:41

Respostas