开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4940|回复: 14
收起左侧

[易源码分享] 网页全局截图演示

[复制链接]
结帖率:78% (7/9)
发表于 2017-2-26 17:50:14 | 显示全部楼层 |阅读模式   福建省*
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 三千水漫定制区 于 2017-2-26 17:52 编辑

可怜的我,没JB了。小哥哥,小姐姐们打发点JB把

网页全局截图演示,用到控制台写的程序(C#)
命令行参数  截图网站地址+存放路径
下方是C#代码

  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Threading;
using System.IO;
using System.Drawing;
namespace dll
{
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main (string[] args)
{
if (args.Length == 2)
{
WebsiteToImage a = new WebsiteToImage (args[0], args[1]);
if (a.Generate () != null)
{
MessageBox.Show ("截图成功!");
}
}

//Application.EnableVisualStyles ();
//Application.SetCompatibleTextRenderingDefault (false);
//Application.Run (new Form1 ());
}

}
public  class WebsiteToImage
{
private Bitmap m_Bitmap;
private string m_Url;
private string m_FileName = string.Empty;
public WebsiteToImage (string url)
{
// Without file
m_Url = url;
}
public WebsiteToImage (string url, string fileName)
{
// With file
m_Url = url;
m_FileName = fileName;
}
public Bitmap Generate ()
{
// Thread
var m_thread = new Thread (_Generate);
m_thread.SetApartmentState (ApartmentState.STA);
m_thread.Start ();
m_thread.Join ();
return m_Bitmap;
}
private void _Generate ()
{
var browser = new WebBrowser { ScrollBarsEnabled = false };
browser.Navigate (m_Url);
browser.DocumentCompleted += WebBrowser_DocumentCompleted;
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents ();
}
browser.Dispose ();
}
private void WebBrowser_DocumentCompleted (object sender, WebBrowserDocumentCompletedEventArgs e)
{
// Capture
var browser = (WebBrowser)sender;
browser.ClientSize = new Size (browser.Document.Body.ScrollRectangle.Width, browser.Document.Body.ScrollRectangle.Bottom);
browser.ScrollBarsEnabled = false;
m_Bitmap = new Bitmap (browser.Document.Body.ScrollRectangle.Width, browser.Document.Body.ScrollRectangle.Bottom);
browser.BringToFront ();
browser.DrawToBitmap (m_Bitmap, browser.Bounds);
// Save as file?
if (m_FileName.Length > 0)
{
// Save
m_Bitmap.SaveJPG100 (m_FileName);
}
}
}
public static class BitmapExtensions
{
public static void SaveJPG100 (this Bitmap bmp, string filename)
{
var encoderParameters = new EncoderParameters (1);
encoderParameters.Param[0] = new EncoderParameter (System.Drawing.Imaging.Encoder.Quality, 100L);
bmp.Save (filename, GetEncoder (ImageFormat.Jpeg), encoderParameters);
}
public static void SaveJPG100 (this Bitmap bmp, Stream stream)
{
var encoderParameters = new EncoderParameters (1);
encoderParameters.Param[0] = new EncoderParameter (System.Drawing.Imaging.Encoder.Quality, 100L);
bmp.Save (stream, GetEncoder (ImageFormat.Jpeg), encoderParameters);
}
public static ImageCodecInfo GetEncoder (ImageFormat format)
{
var codecs = ImageCodecInfo.GetImageDecoders ();
foreach (var codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
// Return
return null;
}
}
}

demo.rar

5.71 KB, 下载次数: 70, 下载积分: 精币 -2 枚

评分

参与人数 2好评 +2 精币 +10 收起 理由
单身汪 + 1 + 6 支持开源~!感谢分享
自强不息 + 1 + 4 感谢发布原创作品,精易因你更精彩!

查看全部评分


签到天数: 13 天

发表于 2018-8-30 08:58:43 | 显示全部楼层   河北省石家庄市
支持支 持支持
回复 支持 反对

使用道具 举报

发表于 2018-8-30 08:41:50 | 显示全部楼层   山西省大同市
刘表啦啦啦啦啦绿绿
回复 支持 反对

使用道具 举报

签到天数: 6 天

发表于 2018-1-16 15:26:12 | 显示全部楼层   天津市天津市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

签到天数: 6 天

发表于 2018-1-16 15:25:50 | 显示全部楼层   天津市天津市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:50% (6/12)

签到天数: 6 天

发表于 2017-3-3 21:05:56 | 显示全部楼层   山东省东营市
求转换成E代码,看不懂啊
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2017-3-3 00:29:33 | 显示全部楼层   贵州省黔东南苗族侗族自治州
看上去很不错
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2017-3-3 00:29:24 | 显示全部楼层   福建省福州市
你这是c#么
回复 支持 反对

使用道具 举报

结帖率:100% (25/25)

签到天数: 2 天

发表于 2017-2-27 01:08:20 | 显示全部楼层   广东省佛山市
楼主 求认识大手笔打赏的大哥
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:97% (31/32)
发表于 2017-2-26 20:28:54 | 显示全部楼层   湖南省永州市
三千水漫定制区 发表于 2017-2-26 18:02
你不是有700多b嘛,来几十也是可以的啊

你不是有2K多B嘛,来几百也是没问题的啊
回复 支持 反对

使用道具 举报

结帖率:91% (10/11)

签到天数: 7 天

发表于 2017-2-26 20:27:29 | 显示全部楼层   河南省郑州市
感谢分享!支持一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表