【问题标题】:Is it possible to get an image of the displayed portion of a WebView in Android?是否可以在 Android 中获取 WebView 显示部分的图像?
【发布时间】:2012-05-13 18:40:21
【问题描述】:

Android 中的 WebView 显示网页时,实际显示的部分是在视图框中。有没有可能有它的图像?

【问题讨论】:

    标签: android image webview


    【解决方案1】:

    您可以进行屏幕转储。 This link 专门展示了如何将 webview 的内容保存到位图。

    代码:

    package com.testWebView; 
    import java.io.FileOutputStream; 
    import android.app.Activity; 
    import android.graphics.Bitmap; 
    import android.graphics.Canvas; 
    import android.graphics.Picture; 
    import android.os.Bundle; 
    import android.util.Log; 
    import android.webkit.WebView; 
    import android.webkit.WebViewClient; 
    public class testWebView extends Activity 
    { 
            WebView w = null; 
        /** Called when the activity is first created. */ 
        @Override 
        public void onCreate(Bundle savedInstanceState) 
        { 
            super.onCreate(savedInstanceState); 
            w = new WebView(this); 
            w.setWebViewClient(new WebViewClient() 
            { 
                    public void onPageFinished(WebView view, String url) 
                    { 
                            Picture picture = view.capturePicture(); 
                    Bitmap  b = Bitmap.createBitmap( picture.getWidth(), 
    picture.getHeight(), Bitmap.Config.ARGB_8888); 
                    Canvas c = new Canvas( b ); 
                    picture.draw( c ); 
                    FileOutputStream fos = null; 
                    try { 
                            fos = new FileOutputStream( "/sdcard/yahoo_" + 
    System.currentTimeMillis() + ".jpg" ); 
                            if ( fos != null ) 
                            { 
                                    b.compress(Bitmap.CompressFormat.JPEG, 90, fos ); 
                                    fos.close(); 
                            } 
                    } catch( Exception e ) 
                            { 
                            //... 
                            } 
                    } 
              }); 
            setContentView( w ); 
            w.loadUrl( "http://www.yahoo.com"); 
        } 
    } 
    

    Android 清单

    <?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
          package="com.testWebView" 
          android:versionCode="1" 
          android:versionName="1.0"> 
        <application android:icon="@drawable/icon" android:label="@string/ 
    app_name"> 
            <activity android:name=".testWebView" 
                      android:label="@string/app_name"> 
                <intent-filter> 
                    <action android:name="android.intent.action.MAIN" /> 
                    <category 
    android:name="android.intent.category.LAUNCHER" /> 
                </intent-filter> 
            </activity> 
        </application> 
        <uses-sdk android:minSdkVersion="3" /> 
    <uses-permission android:name="android.permission.INTERNET"></uses- 
    permission> 
    </manifest> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 2012-05-28
      • 2011-01-20
      • 1970-01-01
      • 2011-03-05
      相关资源
      最近更新 更多