//截图 private void ButtonSubstrImg_Click(object sender, EventArgs e) { var blinkBrowser1 = (BlinkBrowser)tabControl1.SelectedTab.Controls[0]; IntPtr mainFrameId = BlinkBrowserPInvoke.wkeWebFrameGetMainFrame(blinkBrowser1.handle); int width = BlinkBrowserPInvoke.wkeGetContentWidth(blinkBrowser1.handle); int height = BlinkBrowserPInvoke.wkeGetContentHeight(blinkBrowser1.handle); wkeScreenshotSettings settings = new wkeScreenshotSettings { height = height, width = width }; settings.structSize = System.Runtime.InteropServices.Marshal.SizeOf(settings); var bf = BlinkBrowserPInvoke.wkePrintToBitmap(blinkBrowser1.handle, mainFrameId, settings); if (bf != IntPtr.Zero) { var data = (wkeMemBuf)Marshal.PtrToStructure(bf, typeof(wkeMemBuf)); if (data.data != IntPtr.Zero && data.length != 0) { byte[] ys = new byte[data.length]; Marshal.Copy(data.data, ys, 0, ys.Length); FolderBrowserDialog folderBrowser = new FolderBrowserDialog(); if (folderBrowser.ShowDialog() == DialogResult.OK) { string fileName = Path.Combine(folderBrowser.SelectedPath, Guid.NewGuid().ToString("n") + ".bmp"); File.WriteAllBytes(fileName, ys); MessageBox.Show("截图保存成功,图片地址为:" + fileName); } } else { MessageBox.Show("截图失败,数据解析失败。"); } } else { MessageBox.Show("截图失败,返回空。"); } }
private void button3_Click(object sender, EventArgs e) { IntPtr mainFrameId = BlinkBrowserPInvoke.wkeWebFrameGetMainFrame(blinkBrowser1.handle); int width = BlinkBrowserPInvoke.wkeGetContentWidth(blinkBrowser1.handle); int height = BlinkBrowserPInvoke.wkeGetContentHeight(blinkBrowser1.handle); wkeScreenshotSettings settings = new wkeScreenshotSettings { height = height, width = width }; settings.structSize = System.Runtime.InteropServices.Marshal.SizeOf(settings); var bf = BlinkBrowserPInvoke.wkePrintToBitmap(blinkBrowser1.handle, mainFrameId, settings); if (bf != IntPtr.Zero) { var data = (wkeMemBuf)Marshal.PtrToStructure(bf, typeof(wkeMemBuf)); if (data.data != IntPtr.Zero && data.length != 0) { byte[] ys = new byte[data.length]; Marshal.Copy(data.data, ys, 0, ys.Length); string fileName = Guid.NewGuid().ToString("n") + ".bmp"; System.IO.File.WriteAllBytes(fileName, ys); MessageBox.Show("截图保存成功,图片地址为:" + Application.StartupPath + "\\" + fileName); } else { MessageBox.Show("截图失败,数据解析失败。"); } } else { MessageBox.Show("截图失败,返回空。"); } }