0

WP8 の WebBrowser コントロール要素に表示されている現在のコンテンツのスクリーンショットを取得する方法はありますか? ドキュメントによると、WebBrowser コントロール要素は電話の Internet Explorer で使用されるものと同じであり、IE には「タブ」ビューがあり、最後にアクセスしたページとそれらのページのコンテンツを含む小さな画像を表示できます。

4

2 に答える 2

0

この問題の解決策が見つかりません (webBrowser のスクリーンショット)。

しかし、サンプルの履歴ページでユーザーが呼び出したページを表示するための一時的な解決策があります...

Web ページを呼び出したら、ページの SourceCode を保存します。そして、履歴に、ロックされた WebBrowser 要素にソース コードを追加します...

ユーザーはこの履歴 Web ページを表示できます...

しかし、この方法には2つの問題があります(それは単に「一時的な方法」であるためです):

まず、Web ブラウザーでソース コードを表示する場合、このリロード、画像を含む要素 (およびデータ接続を使用)、データ接続は使用されませんでした...

2 つ目は、Web ページのソース コードを時間 Xで保存すると、Web ページの video/images/css/js のパスも保存されます。

そして、おそらく時間 Yで、webPage のコンテンツが変更され、画像を再読み込みできなくなりました... ソースコードが時代遅れになりました...

于 2013-06-07T08:19:41.377 に答える
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);
            }
        }

これにより、ブラウザのコンテンツが分離ストレージの画像ファイルに保存されます

于 2014-06-04T08:00:38.427 に答える