1.092 kez okundu

Web sayfamızı resim formatında nasıl kaydederiz

10 10 1.092 kez okundu incelendi

Web sayfamızı resim formatında nasıl kaydedeceğimize bir göz atalım.

1. Web Sitesi oluşturuyoruz.

2. System.Windows.Forms Reference’ini ekliyoruz.

3. AspCompat=”true” ekini ekliyoruz. Bilmeyen arkadaşlar tıklasınlar.

4.Son olarak da aşağıda vermiş olduğum namespace’leri arkaplan kod sayfanıza ekleyiniz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;


ExportWebPageToImage.aspx adında bir web sayfası oluşturun. İçeriği :


<%@ Page Language="C#" AspCompat="true" AutoEventWireup="true" CodeFile="ExportWebPageToImage.aspx.cs"
   Inherits="ExportWebPageToImage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title></title>
   <style type="text/css">
       .style1
       {
           width: 100%;
       }
   </style>
</head>
<body>
   <form id="form1" runat="server">
   <div>
       <asp:TextBox ID="txtUrl" runat="server" Width="208px"></asp:TextBox><br />
       <asp:Button ID="btnConvert" runat="server" Text="Resim formatına çevir" OnClick="btnConvert_Click" />
   </div>
   </form>
</body>
</html>

ExportWebPageToImage.aspx.cs yani ExportWebPageToImage.aspx sayfamızın arkaplan kodları...



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;

public partial class ExportWebPageToImage : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
   {


   }

   public System.Drawing.Bitmap CaptureWebPage(string URL)
   {
       System.Windows.Forms.WebBrowser web = new System.Windows.Forms.WebBrowser();
       // ScrollBar'ın resimimizde gözükmesini istemiyorsak false değerini veriyoruz.
       web.ScrollBarsEnabled = false;
       // Hiçbir hata bildirimi isteimyorsak true değerini veriyoruz.
       web.ScriptErrorsSuppressed = true;
       // Sayfamızı load up yapabiliriz.
       web.Navigate(URL);

       // Sayfa tamamıyla load up olana kadar bekle.
       while (web.ReadyState != WebBrowserReadyState.Complete)
           System.Windows.Forms.Application.DoEvents();
       System.Threading.Thread.Sleep(1500); // Sayfa scripti yüklenene kadar beklenecek süre bildirimi.

       // Sayfa Görünümü

       //Web sayfamızın boyutlarıyla resmimizin boyutlarının aynı olması için gerekli tanımlamalar.
       int width = web.Document.Body.ScrollRectangle.Width;
       int height = web.Document.Body.ScrollRectangle.Height;
       web.Width = width;
       web.Height = height;
       // Sayfamızın bitmap formatında oluşturulması.
       System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(width, height);
       // ve sonunda bitmap olarak resmedilmesi.
       web.DrawToBitmap(bmp, new System.Drawing.Rectangle(0, 0, width, height));

       return bmp; // Sonuç olarak bitmap donderilmesi.
   }
   protected void btnConvert_Click(object sender, EventArgs e)
   {
       Bitmap bitmap = new Bitmap(CaptureWebPage(txtUrl.Text));
       Response.ContentType = "image/jpeg";
       bitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
       bitmap.Dispose();
       bitmap.Dispose();
       Response.End();
   }
}

Yoruma kapali.

Barış Ozcan Facebook Sayfasi
Barış Ozcan Twitter