2016-08-19 3 views
0

In meiner C# Windows-Anwendung i erfolgreich panel1 als Bild (bmp, jpg, png) erfaßt unter CodeCapture-div als Bild asp.net mit - C#

int x1 = SystemInformation.WorkingArea.X; 
int y1 = SystemInformation.WorkingArea.Y; 
int width1 = panel1.Width; 
int height1 = panel1.Height; 
Rectangle bounds1 = new Rectangle(x1, y1, width1, height1); 
Bitmap img1 = new Bitmap(width1, height1); 
panel1.DrawToBitmap(img1, bounds1); 

ich diesen Code verwenden in meiner asp Website Capture asp Panel als Bild. Aber SystemInformation und DrawToBitmap funktioniert nicht im Web-Projekt. Kann jemand mir eine Idee geben, wie man Asp-Panel mit tatsächlicher Breite und Höhe erfasst.

mein voller Windows-app Button-Code wird unter

gegeben
private void savetypebtn_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      int x1 = SystemInformation.WorkingArea.X; 
      int y1 = SystemInformation.WorkingArea.Y; 
      int width1 = panel1.Width; 
      int height1 = panel1.Height; 
      Rectangle bounds1 = new Rectangle(x1, y1, width1, height1); 
      Bitmap img1 = new Bitmap(width1, height1); 
      panel1.DrawToBitmap(img1, bounds1); 

      string saved_file = ""; 
      savedialog.InitialDirectory = "D:"; 
      savedialog.Title = "Save Quotation"; 
      savedialog.FileName = ""; 
      savedialog.Filter = "Jpg image|*.jpg|Bitmap image|*.bmp|png image|*.png"; 

      if (savedialog.ShowDialog() != DialogResult.Cancel) 
      { 
       saved_file = savedialog.FileName; 
       img1.Save(saved_file, System.Drawing.Imaging.ImageFormat.Bmp); 
      } 
     } 
     catch (Exception ex) 
     { 
      errorlbl.Visible=True; 
      errorlbl.Text = ex.Message; 
     } 
+0

DrawToBitmap wird nicht unterstützt nach. NET 4.0 –

Antwort

0

Dies ist die Lösung, die ich gefunden. Zuerst sollten Sie die gerenderte HTML-Ausgabe einer Steuer wie hier gezeigt How do I get the HTML output of a UserControl in .NET (C#)?

StringBuilder myStringBuilder = new StringBuilder(); 
TextWriter myTextWriter = new StringWriter(myStringBuilder); 
HtmlTextWriter myWriter = new HtmlTextWriter(myTextWriter); 
Panel1.RenderControl(myWriter); 
string html = myTextWriter.ToString(); 

dann wie hier gezeigt Convert HTML string to image wandeln die html in ein Bild

public void ConvertHtmlToImage() 
{ 

    System.Drawing.Image img = HtmlRender.RenderToImage(html, new Size(400, 200), Color.Linen);//html is the varialbe obtained above 
    img.Save(Server.MapPath("/Images/save.jpg"), ImageFormat.Jpeg); 
} 

Sie haben für diese HTMLrenderer Bibliothek zu einem Projekt hinzuzufügen, um Arbeit

+0

@ Narendra: Ist das für Sie funktioniert? kannst du das bitte als Antwort markieren? – TechTurtle