如何制作Web浏览器内容的“屏幕截图”

时间:2013-06-06 15:44:03

标签: windows-phone-8 webbrowser-control windows-phone

有没有获得WP8中WebBrowser控件元素中显示的当前内容的屏幕截图? 文档说WebBrowser控件元素与手机上的Internet Explorer使用的相同,并且IE具有“标签”视图,您可以在其中查看最后访问过的页面以及包含这些页面内容的小图片。

2 个答案:

答案 0 :(得分:0)

我找不到这个问题的解决方案(webBrowser的截图)。

但是,您有一个临时解决方案,用于显示用户在历史记录页面中调用的页面样本...

当您调用网页时,请保存页面的SourceCode。并且,在您的历史记录中,将源代码添加到已锁定的WebBrowser元素中...

用户可以看到此历史网页...

但是,这个方法有两个问题(这只是“临时方法”):

首先是当你在webbrowser中显示源代码时,这个重新加载,元素(并使用数据连接)与图像,没有使用数据连接......

第二:如果您在时间X 中保存网页的源代码,则还会保存网页的视频/ images / css / js上的路径

而且,也许在时间Y 中,webPage内容已经修改,图片无法重新加载...源代码已经过时......

答案 1 :(得分:0)

试试这个

  UIElement scrollContent = (UIElement)this.LayoutRoot;
            bmpCurrentScreenImage.Render(LayoutRoot, new MatrixTransform());
            bmpCurrentScreenImage.Invalidate();


            SaveToMediaLibrary(bmpCurrentScreenImage, fileName, 100);


public void SaveToMediaLibrary(WriteableBitmap bitmap, string name, int quality)
        {
            using (var stream = new MemoryStream())
            {
                // Save the picture to the Windows Phone media library.
                bitmap.SaveJpeg(stream, bitmap.PixelWidth, bitmap.PixelHeight, 0, quality);
                stream.Seek(0, SeekOrigin.Begin);
                     IsolatedStorageFileStream fileStream = _storageFile.CreateFile("folderName" + fileName);
            BitmapImage bitmap = new BitmapImage();
            bitmap.SetSource(imageStream);

            WriteableBitmap wb = new WriteableBitmap(bitmap);
            wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, orientation, quality);
            fileStream.Close();
               // new MediaLibrary().SavePicture(name, stream);
            }
        }

这会将浏览器内容保存到隔离存储中的图像文件中