render View To Bitmap - Android User Interface

Android examples for User Interface:View Bitmap

Description

render View To Bitmap

Demo Code

/*//from ww w  . j  a va 2 s  . c om
 * This source is part of the
 *      _____  ___   ____
 *  __ / / _ \/ _ | / __/___  _______ _
 * / // / , _/ __ |/ _/_/ _ \/ __/ _ `/
 * \___/_/|_/_/ |_/_/ (_)___/_/  \_, /
 *                              /___/
 * repository.
 * 
 * Copyright (C) 2014 Benoit 'BoD' Lubek (BoD@JRAF.org)
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
//package com.java2s;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.view.View;

public class Main {
    public static Bitmap renderViewToBitmap(View view, int widthPx,
            int heightPx) {
        int widthMeasureSpec = View.MeasureSpec.makeMeasureSpec(widthPx,
                View.MeasureSpec.EXACTLY);
        int heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(heightPx,
                View.MeasureSpec.EXACTLY);
        view.measure(widthMeasureSpec, heightMeasureSpec);
        view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
        Bitmap res = Bitmap.createBitmap(view.getWidth(), view.getHeight(),
                Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(res);
        canvas.translate(-view.getScrollX(), -view.getScrollY());
        //        Drawable bgDrawable = view.getBackground();
        //        if (bgDrawable != null) bgDrawable.draw(canvas);
        view.draw(canvas);
        return res;
    }
}

Related Tutorials