On Sep 11, 5:59 pm, AJ <[email protected]> wrote:
> Hi Sean,
> This is solved
>
> Thanks for all your support
>
> - AJ
>
> On Sep 10, 8:38 am, AJ <[email protected]> wrote:
>
> > Sorry Sean,
> > That was a typo error. The looks like
>
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> > WebView w = new WebView(this);
> >         w.loadUrl("http://www.yahoo.com";);
> >         Bitmap mBitmap          = null;
> >         ByteArrayOutputStream mByteArrayOpStream        = null;
>
> >         //get the picture from the webview
> >         Picture picture = w.capturePicture();
>
> >         //Create the new Canvas
> >         Canvas mCanvas = new Canvas();
>
> >         //Copy the view canvas to a bitmap
> >         try{
> >                 //w.draw(mCanvas);
> >                 //mCanvas.save();
> >                 //picture.draw(mCanvas);
> >                 mCanvas.drawPicture(picture);
> >                 //int restoreToCount =mCanvas.save();
> >                 //mCanvas.drawPicture(picture);
> >                 //mCanvas.restore();
> >         }
> >         catch (Exception e) {
> >                 e.printStackTrace();
> >         }
>
> >         mBitmap = Bitmap.createBitmap(w.getWidth(), w.getHeight
> > (),Config.ARGB_8888);
> >         mCanvas.drawBitmap(mBitmap, 0, 0, null);
>
> >         if(mBitmap!= null) {
> >                 mByteArrayOpStream = new ByteArrayOutputStream();
> >                 mBitmap.compress(Bitmap.CompressFormat.JPEG, 90,
> > mByteArrayOpStream);
> >                 try {
> >                         fos = openFileOutput("yahoo.jpg",
> > MODE_WORLD_WRITEABLE);
> >                         fos.write(mByteArrayOpStream.toByteArray());
> >                         fos.close();
> >                 } catch (FileNotFoundException e) {
> >                         e.printStackTrace();
> >                 } catch (IOException e) {
> >                         e.printStackTrace();
> >                 }
> >         }
>
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> > Thanks in Advance
> > AJ
>
> > On Sep 9, 9:39 pm, Sean Hodges <[email protected]> wrote:
>
> > > > //copy the content fron Canvas to Bitmap
> > > > mCanvas.drawBitmap(mBitmapScreenshot, 0, 0, null);
>
> > > What is mBitmapScreenshot? Where is it being set to anything?
>
> > > On Wed, Sep 9, 2009 at 6:50 AM, Ajeet Singh<[email protected]> 
> > > wrote:
>
> > > > Hi Sean,
>
> > > > I have tried in the following way, but still I am getting black
> > > > picture :(
> > > > Can you please look into the code, and see where I am doing wrong.
>
> > > > Thanks for all your support.
>
> > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> > > > //create awebview
> > > >WebVieww = newWebView(this);
>
> > > > //Loads the url
> > > > w.loadUrl("http://www.yahoo.com";);
>
> > > > //After loading completely, take its picture
> > > > Picture picture = w.capturePicture();
>
> > > > //Create a new canvas
> > > > Canvas mCanvas = new Canvas();
>
> > > > //Draw the Picture into the Canvas
> > > > picture.draw(mCanvas);
>
> > > > //Create a Bitmap
> > > > Bitmap sreenshot = Bitmap.createBitmap(picture.getWidth(),
> > > > picture.getHeight(),Config.ARGB_8888);
>
> > > > //copy the content fron Canvas to Bitmap
> > > > mCanvas.drawBitmap(mBitmapScreenshot, 0, 0, null);
>
> > > > //Save the Bitmap to local filesystem
> > > > if(sreenshot != null) {
> > > >        ByteArrayOutputStream mByteArrayOpStream = new
> > > > ByteArrayOutputStream();
> > > >        screenshot.compress(Bitmap.CompressFormat.JPEG, 90,
> > > > mByteArrayOpStream);
> > > >        try {
> > > >                fos = openFileOutput("yahoo.jpg", MODE_WORLD_WRITEABLE);
> > > >                fos.write(mByteArrayOpStream.toByteArray());
> > > >                fos.close();
> > > >        } catch (FileNotFoundException e) {
> > > >                e.printStackTrace();
> > > >        } catch (IOException e) {
> > > >                e.printStackTrace();
> > > >        }
> > > > }
>
> > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> > > > Thanks in advance,
> > > > Ajeet Singh
>
> > > > On Sep 9, 9:26 am, Ajeet Singh <[email protected]> wrote:
> > > >> Hi Sean,
>
> > > >> Thanks for replying.
>
> > > >> I got the idea what exactly you want to say.
>
> > > >> The code does not work straight forward. It is crashing at drawing
> > > >> canvas fromwebview.
>
> > > >> w.draw(tempCanvas);
>
> > > >> If I comment this line it it saves yahoo.jpg file totally black in
> > > >> color. nothing comes out there.
>
> > > >> Let me try what is can be done to get the actual view of any site.
>
> > > >> Anyway thanks.
>
> > > >> Ajeet Singh
>
> > > >> On Sep 8, 5:59 pm, Sean Hodges <[email protected]> wrote:
>
> > > >> > Well, based on your example code, my suggestion is to do something 
> > > >> > like this:
>
> > > >> >WebVieww = newWebView(this);
> > > >> > w.loadUrl("http://www.yahoo.com";);
>
> > > >> > // Copy the view canvas to a bitmap
> > > >> > Canvas tempCanvas = new Canvas();
> > > >> > w.draw(tempCanvas);
> > > >> > Bitmapscreenshot= Bitmap.createBitmap(w.getWidth(), w.getHeight(),
> > > >> > Config.ARGB_8888);
> > > >> > tempCanvas.drawBitmap(screenshot, 0, 0, null);
>
> > > >> > // Save to disk
> > > >> > if(bmpBuffer != null) {
> > > >> >     mByteArrayOpStream = new ByteArrayOutputStream();
> > > >> >     bmpBuffer.compress(Bitmap.CompressFormat.JPEG, 90,
> > > >> >     mByteArrayOpStream);
> > > >> >     fos = openFileOutput("yahoo.jpg", MODE_WORLD_WRITEABLE);
> > > >> >     fos.write(mByteArrayOpStream.toByteArray());
> > > >> >     fos.close();
>
> > > >> > }
>
> > > >> > NOTE: I haven't tested this, it's only to describe what I meant.
> > > >> > You'll probably need to tweak the code to make it work properly.
>
> > > >> > On Tue, Sep 8, 2009 at 6:49 AM, Ajeet 
> > > >> > Singh<[email protected]> wrote:
>
> > > >> > > Any body  could you please share some info regarding this?
>
> > > >> > > On Sep 7, 6:00 pm, Ajeet Singh <[email protected]> wrote:
> > > >> > >> Thanks, sean for the quick reply.
>
> > > >> > >> I did not get what exactly you want to say.(Sorry for that)
>
> > > >> > >> Let me explain what i am trying to do.
>
> > > >> > >> ################################### Code START
> > > >> > >> ###################################
>
> > > >> > >> // I have created onewebview
> > > >> > >>WebVieww = newWebView(this);
> > > >> > >> //Loaded yahoo
> > > >> > >> w.loadUrl("http://www.yahoo.com";);
> > > >> > >> //Capture the picture
> > > >> > >> Picture picture = w.capturePicture();
> > > >> > >> int mHeight = picture.getHeight();
> > > >> > >> int mWidth = picture.getWidth();
>
> > > >> > >> // created the Bitmap
> > > >> > >> Bitmap bmpBuffer = Bitmap.createBitmap(mWidth, mHeight,
> > > >> > >> Config.ARGB_8888);
>
> > > >> > >> if(bmpBuffer != null) {
> > > >> > >>     mByteArrayOpStream = new ByteArrayOutputStream();
> > > >> > >>     bmpBuffer.compress(Bitmap.CompressFormat.JPEG, 90,
> > > >> > >> mByteArrayOpStream);
>
> > > >> > >>     fos = openFileOutput("yahoo.jpg", MODE_WORLD_WRITEABLE);
> > > >> > >>     fos.write(mByteArrayOpStream.toByteArray());
> > > >> > >>     fos.close();}
>
> > > >> > >> ################################### Code END
> > > >> > >> ###################################
>
> > > >> > >> But when I see my image (yahoo.jpg) its an empty image. Nothing is
> > > >> > >> there.
>
> > > >> > >> After that i tried another method. there is one function
> > > >> > >> getDrawingCache() which returns the Bitmap. But it is returning 
> > > >> > >> the
> > > >> > >> Bitmap only of the visible area of the screen. (NOT the whole 
> > > >> > >> webpage)
>
> > > >> > >> Any help would  be appreciated.
>
> > > >> > >> Thanks in Advance,
> > > >> > >> Ajeet Singh
>
> > > >> > >> On Sep 7, 1:42 pm, Sean Hodges <[email protected]> 
> > > >> > >> wrote:
>
> > > >> > >> > I've not done this before, but I believe you could create a new 
> > > >> > >> > Canvas
> > > >> > >> > object, and call the draw() method on your parent activity, 
> > > >> > >> > passing in
> > > >> > >> > your temp canvas object as the target:
>
> > > >> > >> >http://developer.android.com/reference/android/view/View.html#draw%28...
>
> > > >> > >> > Something similar to this:
>
> > > >> > >> > Canvas tempCanvas = new Canvas();
> > > >> > >> > this.draw(tempCanvas);
> > > >> > >> > Bitmapscreenshot= tempCanvas.drawBitmap(...)
>
> > > >> > >> > After that, you should be able to call drawBitmap()  on the 
> > > >> > >> > canvas,
> > > >> > >> > and it will produce a "screenshiot" of everything inside that
> > > >> > >> > activity.
>
> > > >> > >> > On Mon, Sep 7, 2009 at 9:29 AM, Ajeet 
> > > >> > >> > Singh<[email protected]> wrote:
>
> > > >> > >> > > Actually I want to take screen-shot of what is shown on the 
> > > >> > >> > > screen as
> > > >> > >> > > well as beyond it also like in case if scroll bar are present.
>
> > > >> > >> > > There is one function getDrawingCache() which does that, but 
> > > >> > >> > > it only
> > > >> > >> > > save picture what is available on the screen. It does not 
> > > >> > >> > > capture
> > > >> > >> > > beyond screen if the picture is big.
>
> > > >> > >> > > If some body knows then plz reply.
>
> > > >> > >> > > Anyway, i will post this question to android-developer forum.
>
> > > >> > >> > > Thanks gjs for your quick reply.
>
> > > >> > >> > > Ajeet
>
> > > >> > >> > > On Sep 7, 12:22 pm, gjs <[email protected]> wrote:
> > > >> > >> > >> And this question is probably better asked in the developers 
> > > >> > >> > >> group.
>
> > > >> > >> > >>http://groups.google.com/group/android-developers
>
> > > >> > >> > >> On Sep 7, 5:11 pm, gjs <[email protected]> wrote:
>
> > > >> > >> > >> > Hi,
>
> > > >> > >> > >> > Have a look
>
> ...
>
> read more »





hi....
i tried the above code  but
during runtime getting mWidth and mHeight values 0.

can anybody help???


thanks
Mini

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Android Discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/android-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to