如何对网页长截图?

如何对网页长截图?很多人都在苦恼这个问题,我也为长截图烦恼了好久,终于找到了这个方法,3步就可以啦。

首先,打开要截图的网页,按下三个按键:⌘Command + Option + I

接着,按下⌘Command + Shift + P

最后,搜索位置输入Capture full size screenshot,回车即可。

弹出保存按钮,保存即可。

小编保存的是桌面,我们来看看实图吧。

是不是很棒呢?这种方法,不仅适用于chrome浏览器,对于360也是适用的,还在发愁不知道怎么截长图的朋友,可以试试哦。

以上就是今天为大家分享的“网页完整的长截图怎么截?3步搞定!”的技巧,希望对您有所帮助哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CefSharp是CEF在.NET平台下的封装,它提供了一个简单的方式来在.NET程序中嵌入Chromium浏览器。 在CefSharp中,我们可以通过调用CefBrowser的GetHost方法获取到CefBrowserHost对象,然后通过调用CefBrowserHost的GetImage方法来获取当前网页截图。但是,对于超网页,由于GetImage方法只能获取当前可视区域的截图,因此我们需要进行一些额外的操作才能获取整个网页截图。 具体方法如下: 1. 获取网页高度 ``` int totalHeight = (int)(browser.ExecuteScriptAsync("return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);").Result); ``` 这里我们调用JavaScript代码来获取网页的高度。 2. 分段获取截图 将整个网页分为多个部分,分别获取每个部分的截图,然后将这些截图拼接起来就可以得到整个网页截图。 ``` int partHeight = 32767; // 每个部分的高度 int yOffset = 0; Bitmap bitmap = new Bitmap(1, 1); Graphics graphics = Graphics.FromImage(bitmap); while (yOffset < totalHeight) { int height = Math.Min(partHeight, totalHeight - yOffset); int width = (int)(browser.Width / browser.ZoomLevel); int x = (int)(browser.HorizontalScroll.Value / browser.ZoomLevel); int y = (int)((yOffset + browser.VerticalScroll.Value) / browser.ZoomLevel); // 获取当前部分的截图 Bitmap partBitmap = new Bitmap(width, height, graphics); Rectangle rect = new Rectangle(x, y, width, height); graphics.CopyFromScreen(browser.PointToScreen(rect), new Point(0, 0), rect.Size); partBitmap = partBitmap.Clone(new Rectangle(0, 0, partBitmap.Width, partBitmap.Height), PixelFormat.Format32bppArgb); // 拼接截图 fullBitmap = CombineBitmaps(fullBitmap, partBitmap, yOffset); yOffset += partHeight; } ``` 在以上代码中,我们使用了CombineBitmaps方法来将多个部分的截图拼接起来。 ``` private static Bitmap CombineBitmaps(Bitmap bitmap1, Bitmap bitmap2, int yOffset) { if (bitmap1 == null) { return bitmap2; } Bitmap bitmap = new Bitmap(bitmap1.Width, yOffset + bitmap2.Height); using (Graphics g = Graphics.FromImage(bitmap)) { g.DrawImage(bitmap1, new Rectangle(0, 0, bitmap1.Width, bitmap1.Height)); g.DrawImage(bitmap2, new Rectangle(0, yOffset, bitmap2.Width, bitmap2.Height)); } return bitmap; } ``` 通过以上方法,我们就可以实现获取超网页截图了。需要注意的是,如果网页,可能会出现内存不足的问题,因此我们可以根据实际情况调整每个部分的高度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值