Android: как разделить изображение, снятое с веб-просмотра на несколько изображений - PullRequest
2 голосов
/ 12 августа 2010

У меня есть веб-просмотр, и я фиксирую вид, подобный этому

    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 ]

1 голос
/ 16 сентября 2011

Это что-то вроде хака, но это будет работать на ОЧЕНЬ длинных веб-страницах без нехватки памяти.Во-первых, поместите ваше веб-представление в другой макет (RelativeLayout rl).Размер RelativeLayout для размера изображения, который вы хотите.Затем позвоните:

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

и повторяйте это, пока не окажетесь внизу страницы!

0 голосов
/ 28 апреля 2011
Bitmap.createBitmap(source, x, y, width, height)

Я всегда использую этот код, чтобы разделить большое изображение на несколько изображений.

Я могу использовать это легко

...