最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)將網(wǎng)頁(yè)保存成圖片的網(wǎng)頁(yè)拍照功能

 更新時(shí)間:2014年07月30日 16:55:33   投稿:shichen2014  
這篇文章主要介紹了C#實(shí)現(xiàn)將網(wǎng)頁(yè)保存成圖片的網(wǎng)頁(yè)拍照功能,很實(shí)用的一個(gè)功能,需要的朋友可以參考下

本文實(shí)例主要實(shí)現(xiàn)了網(wǎng)頁(yè)照相機(jī)程序的功能。C#實(shí)現(xiàn)將網(wǎng)頁(yè)保存成圖片格式,簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁(yè)拍照,主要是基于ActiveX 組件的網(wǎng)頁(yè)快照類,AcitveX 必須實(shí)現(xiàn) IViewObject 接口。因此讀者完全可擴(kuò)展此類將其用于你的C#軟件項(xiàng)目中。在此特別感謝作者:隨飛提供的代碼。

主要功能代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using System.Drawing;
using System.Windows.Forms;
namespace SnapLibrary
{
  /// <summary>
  /// ActiveX 組件快照類,用于網(wǎng)頁(yè)拍照,將網(wǎng)頁(yè)保存成圖片
  /// AcitveX 必須實(shí)現(xiàn) IViewObject 接口
  /// 作者:隨飛
  /// </summary>
  public class Snapshot
  {
    /// <summary>
    /// 取快照
    /// </summary>
    /// <param name="pUnknown">Com 對(duì)象</param>
    /// <param name="bmpRect">圖象大小</param>
    /// <returns></returns>
    public Bitmap TakeSnapshot(object pUnknown, Rectangle bmpRect)
    {
      if (pUnknown == null)
        return null;
      //必須為com對(duì)象
      if (!Marshal.IsComObject(pUnknown))
        return null;
      //IViewObject 接口
      SnapLibrary.UnsafeNativeMethods.IViewObject ViewObject = null;
      IntPtr pViewObject = IntPtr.Zero;
      //內(nèi)存圖
      Bitmap pPicture = new Bitmap(bmpRect.Width, bmpRect.Height);
      Graphics hDrawDC = Graphics.FromImage(pPicture);
      //獲取接口
      object hret = Marshal.QueryInterface(Marshal.GetIUnknownForObject(pUnknown),
        ref UnsafeNativeMethods.IID_IViewObject, out pViewObject);
      try
      {
        ViewObject = Marshal.GetTypedObjectForIUnknown(pViewObject, typeof(SnapLibrary.UnsafeNativeMethods.IViewObject)) as SnapLibrary.UnsafeNativeMethods.IViewObject;
        //調(diào)用Draw方法
        ViewObject.Draw((int)DVASPECT.DVASPECT_CONTENT,
          -1,
          IntPtr.Zero,
          null,
          IntPtr.Zero,
          hDrawDC.GetHdc(),
          new NativeMethods.COMRECT(bmpRect),
          null,
          IntPtr.Zero,
          0);
        Marshal.Release(pViewObject);
      }
      catch (Exception ex)
      {
        Console.WriteLine(ex.Message);
        throw ex;
      }
      //釋放
      hDrawDC.Dispose();
      return pPicture;
    }
  }
}

相關(guān)文章

  • c#索引器詳解示例

    c#索引器詳解示例

    索引器是一種特殊的類成員,它能夠讓對(duì)象以類似數(shù)組的方式來存取,使程序看起來更為直觀,更容易編寫。
    2014-04-04
  • 關(guān)于WPF異步MVVM等待窗體的介紹

    關(guān)于WPF異步MVVM等待窗體的介紹

    本篇文章小編將為大家介紹,關(guān)于WPF異步MVVM等待窗體的介紹,需要的朋友參考下
    2013-04-04
  • C#構(gòu)建分頁(yè)應(yīng)用的方法分析

    C#構(gòu)建分頁(yè)應(yīng)用的方法分析

    這篇文章主要介紹了C#構(gòu)建分頁(yè)應(yīng)用的方法,結(jié)合實(shí)例形式分析了C#創(chuàng)建分頁(yè)功能的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-01-01
  • C#中如何獲取文件圖標(biāo)

    C#中如何獲取文件圖標(biāo)

    這篇文章主要介紹了C#中如何獲取文件圖標(biāo)的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • C#中通過API實(shí)現(xiàn)的打印類 實(shí)例代碼

    C#中通過API實(shí)現(xiàn)的打印類 實(shí)例代碼

    這篇文章介紹了,C#中通過API實(shí)現(xiàn)的打印類 實(shí)例代碼,有需要的朋友可以參考一下
    2013-08-08
  • C# using()的使用方法

    C# using()的使用方法

    本文主要介紹了C# using()的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • C#中的事件介紹

    C#中的事件介紹

    這篇文章主要介紹了C#中的事件介紹,本文對(duì)C#事件的語(yǔ)法、定義方法、調(diào)用方法等做了講解,需要的朋友可以參考下
    2015-01-01
  • C#中的CheckBox控件詳解與應(yīng)用示例

    C#中的CheckBox控件詳解與應(yīng)用示例

    在WPF(Windows Presentation Foundation)應(yīng)用中,C#中的CheckBox控件是一種常用的用戶界面元素,允許用戶從多個(gè)選項(xiàng)中選擇一個(gè)或多個(gè)選項(xiàng),本文將詳細(xì)介紹CheckBox控件的功能、使用方法以及在應(yīng)用程序中的具體應(yīng)用示例,需要的朋友可以參考下
    2024-04-04
  • C#實(shí)現(xiàn)連接電子秤串口自動(dòng)稱重

    C#實(shí)現(xiàn)連接電子秤串口自動(dòng)稱重

    這篇文章介紹了C#實(shí)現(xiàn)連接電子秤串口自動(dòng)稱重的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • WPF實(shí)現(xiàn)3D立方體波浪墻效果

    WPF實(shí)現(xiàn)3D立方體波浪墻效果

    這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)3D立方體波浪墻效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評(píng)論

宁陵县| 平安县| 华宁县| 顺昌县| 合川市| 天全县| 瓦房店市| 七台河市| 桦南县| 阿拉善左旗| 社会| 迁西县| 化州市| 尼木县| 鲁甸县| 五大连池市| 腾冲县| 鲜城| 观塘区| 舒城县| 碌曲县| 宁阳县| 湘乡市| 池州市| 东港市| 疏附县| 聂荣县| 镇远县| 澄迈县| 高陵县| 陈巴尔虎旗| 东丰县| 临漳县| 黄大仙区| 永德县| 左贡县| 沙雅县| 大余县| 微博| 金溪县| 平昌县|