C#及wpf WebBrowser截图
来源:互联网 发布:手机个人理财软件 编辑:程序博客网 时间:2024/06/05 03:43
最靠谱的截图源码,直接拿去用,返回的ImageSource可以直接设置给Image控件
using System;using System.Collections.Generic;using System.Drawing;using System.IO;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Windows.Media;namespace Base{ class WebScreenshot { [DllImport("user32.dll")] private static extern bool PrintWindow(IntPtr hwnd, IntPtr hdcBlt, uint nFlags); /// <summary> /// 对一个WebBrowser进行截图 /// </summary> /// <param name="targetBrowser">我这里用的是Forms的WebBrowser,如果是wpf的,请自己改成Controls并调整参数</param> /// <returns></returns> public static ImageSource BrowserSnapShot(System.Windows.Forms.WebBrowser targetBrowser) { // 获取宽高 int screenWidth = (int)targetBrowser.Width; int screenHeight = (int)targetBrowser.Height; IntPtr myIntptr = targetBrowser.Handle; int hwndInt = myIntptr.ToInt32(); IntPtr hwnd = myIntptr; //创建图形 System.Drawing.Bitmap bm = new System.Drawing.Bitmap(screenWidth, screenHeight, System.Drawing.Imaging.PixelFormat.Format16bppRgb555); System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bm); IntPtr hdc = g.GetHdc(); //调用api 把hwnd的内容用图形绘制到hdc 如果你有代码洁癖 可以不使用api 使用g.CopyFromScreen,请自行研究 bool result = PrintWindow(hwnd, hdc, 0); g.ReleaseHdc(hdc); g.Flush(); if (result == true) //成功 转换并返回ImageSource { ImageSourceConverter imageSourceConverter = new ImageSourceConverter(); MemoryStream stream = new MemoryStream(); bm.Save(stream, System.Drawing.Imaging.ImageFormat.Png); return (ImageSource)imageSourceConverter.ConvertFrom(stream); } return null; } }}
0 0
- C#及wpf WebBrowser截图
- c# webBrowser截图
- WPF C#截图功能 仿qq截图
- webbrowser截图
- webbrowser 截图
- C# WPF WebBrowser 屏蔽页面错误
- WPF中WebBrowser的使用方法及分析
- C# webBrowser 截取验证码截图的两种方式
- WPF 截图
- C# wpf WebBrowser遮挡上层UI的解决办法
- C# Webbrowser 常用方法及多线程调用
- C#截图源码及示例(仿QQ截图)
- C#截图源码及示例(仿QQ截图)
- WPF WebBrowser DataGrid
- wpf webbrowser注入javascript
- C# WebBrowser
- 通过 WebBrowser 获取网页截图
- 通过 WebBrowser 获取网页截图
- SYBASE中显示Palette
- 用指针修改图像像素
- Windows下CriticalSection和Mutex的性能比较
- (三)03iOS-Swift版的手势密码解锁功能
- LeetCode(33) Search in Rotated Sorted Array解题报告
- C#及wpf WebBrowser截图
- CUDA编程——Warp Divergence
- simple Ubuntu chat service
- vi命令
- 2016.1.16 Maven使用和项目整理
- python 函数
- 获取手机存储空间大小
- 【异常】百度定位sdk Couldn't load locSDK3 from loader dalvik findLibrary returned null
- jQuery EasyUI使用教程之在数据网格中自定义排序