1. Javacode, 04.05.2011 #1
    Javacode

    Javacode Threadstarter Neuer Benutzer

    Hallo Liebe Androidler :).

    Ich hab ein kleines Problem das ich einfach ncht lösen kann.
    Vielleicht hat ja jemand eine Lösung parat.

    Folgendes: Ich möchte ein Screenshot von einer WebView machen und diesen dann in einer ImageView anzeigen.

    Mein Code im Moment:

    WebView mWebView = new WebView(this);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("http://www.google.de");

    Picture picture = mWebView.capturePicture();
    Bitmap b = Bitmap.createBitmap( picture.getWidth(),
    picture.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas( b );
    picture.draw( c );

    ImageView imgv= (ImageView) findViewById(R.id.webView1);
    imgv.setDrawingCacheEnabled(true);
    imgv.draw(c);
    Paint paint= new Paint();
    c.drawBitmap(b, 0, 0, paint);


    Dieser Funktioniert leider nicht so wie erhofft, gibt immer eine Exception


    Danke schon mal im Voraus.


    Grüße,
    Javacode
     
  2. swordi, 04.05.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    wenn die exception schon hast, warum kopierst sie nicht einfach hier rein?
     
  3. Javacode, 04.05.2011 #3
    Javacode

    Javacode Threadstarter Neuer Benutzer

    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): FATAL EXCEPTION: main
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): java.lang.RuntimeException: Unable to start activity ComponentInfo{android.app/android.app.mediaAItemView}: java.lang.IllegalArgumentException: width and height must be > 0
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2787)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.app.ActivityThread.access$2300(ActivityThread.java:135)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.os.Handler.dispatchMessage(Handler.java:99)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.os.Looper.loop(Looper.java:144)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.app.ActivityThread.main(ActivityThread.java:4937)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at java.lang.reflect.Method.invokeNative(Native Method)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at java.lang.reflect.Method.invoke(Method.java:521)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at dalvik.system.NativeStart.main(Native Method)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): Caused by: java.lang.IllegalArgumentException: width and height must be > 0
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.graphics.Bitmap.nativeCreate(Native Method)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.graphics.Bitmap.createBitmap(Bitmap.java:574)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.app.mediaAItemView.onCreate(mediaAItemView.java:133)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
    05-04 10:54:26.333: ERROR/AndroidRuntime(11913): ... 11 more
     
  4. swordi, 04.05.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    ja und da stehts ja

    width und height müssen größer als 0 sein
     
  5. Javacode, 04.05.2011 #5
    Javacode

    Javacode Threadstarter Neuer Benutzer

    Ja, das hab ich auch gesehen.

    Hast du eine andere Möglichkeit die Webview zu screenen???
     
  6. Thyrion, 04.05.2011 #6
    Thyrion

    Thyrion Ehrenmitglied

    Nur so ein Gedanke: Ist der WebView an der Stelle direkt nach dem Aufruf der Methode loadUrl() schon fertig mit laden und rendern der Seite?
     
  7. Javacode, 04.05.2011 #7
    Javacode

    Javacode Threadstarter Neuer Benutzer

    möglich ist es schon, aber genau kann ich das nicht sagen. Feststellung als ich die webview drin hatte hats direkt nachdem ich die activity gestartet habe angezeigt also ist die lade dauer nur eine sache von ms.
     
  8. Thyrion, 04.05.2011 #8
    Thyrion

    Thyrion Ehrenmitglied

  9. Javacode, 04.05.2011 #9
    Javacode

    Javacode Threadstarter Neuer Benutzer

    erstmal Danke für die Hilfe. Das Problem das ganze soll dynamisch bleiben, der Gedanke war das Bild bei laden zu generieren ohne dem Kunden sein Speicherplatz zu Benutzen :). Den Link hatte ich auch schon durchforstet :)
     

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. androit java bilddatei im imageview anzeigen

    ,
  2. androit java bild imageview anzeigen

    ,
  3. android picture

    ,
  4. Android Object imageView1;