Android:如何在多个图像中分割从webview捕获的图片

时间:2010-08-12 06:14:08

标签: android-webview

我有一个webview,我就像这样捕获视图

    Picture picture = m_browser.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/temp_1.jpg");
        //fos = openFileOutput("samsp_1.jpg", MODE_WORLD_WRITEABLE);
        if ( fos != null )
        {
            b.compress(Bitmap.CompressFormat.JPEG,90, fos);  
            fos.close();
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();

    }
}

现在,如果加载的网站很长,例如。 times.com然后这个图像也太大了。

我想将这张图片拆分成多张图片而不降低质量。

我希望以最高质量获得这些图像。

PLS。救命 感谢

2 个答案:

答案 0 :(得分:1)

这有点像黑客攻击,但这可以在非常长的网页上运行而不会耗尽内存。首先,将您的webview放在另一个布局(RelativeLayout rl)中。根据所需的图像大小调整RelativeLayout的大小。然后致电:

rl.draw(canvas);
// do something here to save your bitmap
webview.scrollby(0, rl.getHeight());

并重复一遍,直到你在页面底部!

答案 1 :(得分:0)

Bitmap.createBitmap(source, x, y, width, height)

我总是使用此代码将大图像剪切为多个图像。

我可以轻松使用