package com.cheng.utils.imagebitmap; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.view.View; import android.widget.ScrollView; /** * 转换为Bitmap的工具类 */ public class ConvertToBitmapUtil { /** * 将View转换为Bitmap * @param view * @return */ public static Bitmap convertViewToBitmap(View view) { view.destroyDrawingCache(); view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); view.setDrawingCacheEnabled(true); return view.getDrawingCache(true); } /** * 将ScrollView转换为Bitmap * @param scrollView * @return */ public static Bitmap convertScrollViewToBitmap(ScrollView scrollView) { int h = 0; Bitmap bitmap = null; // 获取scrollview实际高度 for (int i = 0; i < scrollView.getChildCount(); i++) { h += scrollView.getChildAt(i).getHeight(); scrollView.getChildAt(i).setBackgroundColor( Color.parseColor("#ffffff")); } // 创建对应大小的bitmap bitmap = Bitmap.createBitmap(scrollView.getWidth(), h, Bitmap.Config.RGB_565); final Canvas canvas = new Canvas(bitmap); scrollView.draw(canvas); return bitmap; } }