ViewToBitmap

public class ViewToBitmap {

	private View mView;
	private static ViewToBitmap mViewToBitmap;
	private static int height =0;
	private static final int HEIGTH_COEFFICIENT = 2;//高度系数
	private static int alpha = 0;
	private static int ALPHA_COEFFICIENT = 10;//Alpha系数
	private Context mContext;
	private LayoutInflater mLayoutInflater;

	private ViewToBitmap(Context context , int layoutID){
		this.mContext = context;
		mLayoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		mView = mLayoutInflater.inflate(layoutID, null);
	}

	public static ViewToBitmap getInstance(Context context , int layoutID ){
		if(mViewToBitmap == null){
			mViewToBitmap = new ViewToBitmap(context, layoutID);
		}
		return mViewToBitmap;
	}

	public static ViewToBitmap getInstance() throws Exception{
		if(mViewToBitmap == null){
			throw new Exception("ViewToBitmap is null !");	
		}
		return mViewToBitmap;
	}

	public int getHeight(){
		height = height + HEIGTH_COEFFICIENT;
		return height;
	}

	public void initHeight(){
		height = 0;	
	}

	public int getAlpah(){
		alpha = alpha +ALPHA_COEFFICIENT;
		return alpha;
	}

	public void initAlpah(){
		alpha = 0;
	}

	public void setContent(int contentID , String content){
	//	mView = mLayoutInflater.inflate(R.layout.appwidget_textview_anim, null);
		TextView contentStr = (TextView)mView.findViewById(contentID);
		contentStr.setText(content);
	}

	public  Bitmap getViewBitmap(int w, int h){
		mView.setDrawingCacheEnabled(true);
		mView.measure(
				MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
				MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
		mView.layout(0, 0, w, h);
		mView.buildDrawingCache();
		return mView.getDrawingCache();
	}


	public static Bitmap setAlpha(Bitmap sourceImg, int number)  { 
		int[] argb = new int[sourceImg.getWidth() * sourceImg.getHeight()]; 
		sourceImg.getPixels(argb, 0, sourceImg.getWidth(), 0, 0,sourceImg.getWidth(), sourceImg.getHeight());
		// 获得图片的ARGB值 
		number = number * 255 / 100; 
		for (int i = 0; i < argb.length; i++)  {
			if(argb[i]!=0){
				argb[i] = (number << 24) | (argb[i] & 0x00FFFFFF);
			}
			else{argb[i]=0x00000000;}
		}
		sourceImg = Bitmap.createBitmap(argb, sourceImg.getWidth(), sourceImg.getHeight(), Config.ARGB_8888);
		return sourceImg; 
	} 
}

分析报错 行 113554: 07-23 15:06:33.078 3765 13230 W System.err :13230): java.lang.NullPointerException: Attempt to read from field 'int androidx.constraintlayout.core.SolverVariable.id' on a null object reference 行 113555: 07-23 15:06:33.078 3765 13230 W System.err :13230): at androidx.constraintlayout.core.ArrayLinkedVariables.get(ArrayLinkedVariables.java:596) 行 113556: 07-23 15:06:33.079 3765 13230 W System.err :13230): at androidx.constraintlayout.core.ArrayLinkedVariables.use(ArrayLinkedVariables.java:349) 行 113557: 07-23 15:06:33.079 3765 13230 W System.err :13230): at androidx.constraintlayout.core.ArrayRow.updateFromRow(ArrayRow.java:561) 行 113558: 07-23 15:06:33.079 3765 13230 W System.err :13230): at androidx.constraintlayout.core.ArrayRow.updateFromSystem(ArrayRow.java:734) 行 113560: 07-23 15:06:33.086 3765 13230 W System.err :13230): at androidx.constraintlayout.core.LinearSystem.addConstraint(LinearSystem.java:573) 行 113561: 07-23 15:06:33.086 3765 13230 W System.err :13230): at androidx.constraintlayout.core.LinearSystem.addEquality(LinearSystem.java:1367) 行 113562: 07-23 15:06:33.087 3765 13230 W System.err :13230): at androidx.constraintlayout.core.widgets.ConstraintWidget.applyConstraints(ConstraintWidget.java:3263) 行 113563: 07-23 15:06:33.087 3765 13230 W System.err :13230): at androidx.constraintlayout.core.widgets.ConstraintWidget.addToSolver(ConstraintWidget.java:2714) 行 113564: 07-23 15:06:33.087 3765 13230 W System.err :13230): at androidx.constraintlayout.core.widgets.ConstraintWidgetContainer.addChildrenToSolver(ConstraintWidgetContainer.java:435) 行 113565: 07-23 15:06:33.087 3765 13230 W System.err :13230): at androidx.constraintlayout.core.widgets.ConstraintWidgetContainer.layout(ConstraintWidgetContainer.java:835) 行 113566: 07-23 15:06:33.087 3765 13230 W System.err :13230): at androidx.constraintlayout.core.widgets.analyzer.BasicMeasure.solveLinearSystem(BasicMeasure.java:160) 行 113567: 07-23 15:06:33.088 3765 13230 W System.err :13230): at androidx.constraintlayout.core.widgets.analyzer.BasicMeasure.solverMeasure(BasicMeasure.java:291) 行 113568: 07-23 15:06:33.088 3765 13230 W System.err :13230): at androidx.constraintlayout.core.widgets.ConstraintWidgetContainer.measure(ConstraintWidgetContainer.java:120) 行 113569: 07-23 15:06:33.088 3765 13230 W System.err :13230): at androidx.constraintlayout.widget.ConstraintLayout.resolveSystem(ConstraintLayout.java:1594) 行 113570: 07-23 15:06:33.088 3765 13230 W System.err :13230): at androidx.constraintlayout.widget.ConstraintLayout.onMeasure(ConstraintLayout.java:1708) 行 113571: 07-23 15:06:33.088 3765 13230 W System.err :13230): at android.view.View.measure(View.java:25090) 行 113572: 07-23 15:06:33.088 3765 13230 W System.err :13230): at com.seres.app.map_resource.adapter.util.ViewToBitmap.layoutView(ViewToBitmap.java:29) 行 113573: 07-23 15:06:33.088 3765 13230 W System.err :13230): at com.seres.app.map_resource.adapter.base.BaseStyleAdapter.l(BaseStyleAdapter.java:315) 行 113574: 07-23 15:06:33.088 3765 13230 W System.err :13230): at com.seres.app.map_resource.adapter.base.BaseStyleAdapter.s(BaseStyleAdapter.java:248) 行 113575: 07-23 15:06:33.088 3765 13230 W System.err :13230): at com.seres.app.map_resource.adapter.base.BaseStyleAdapter.t(BaseStyleAdapter.java:337) 行 113576: 07-23 15:06:33.088 3765 13230 W System.err :13230): at com.seres.app.map_resource.adapter.route.RouteLayerStyleAdapter.onCompareTipStyle(RouteLayerStyleAdapter.java:389) 行 113577: 07-23 15:06:33.088 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.RouteLayer.J1(RouteLayer.java:1456) 行 113578: 07-23 15:06:33.088 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.RouteLayer.C0(Unknown Source:0) 行 113579: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.h.onWith(Unknown Source:6) 行 113580: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.util.check.TypeCheck.a(TypeCheck.java:46) 行 113581: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.RouteLayer.Y0(RouteLayer.java:1454) 行 113582: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.RouteLayer.y2(RouteLayer.java:1101) 行 113583: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.RouteLayer.E0(RouteLayer.java:134) 行 113584: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.RouteLayer$1.getLayerStyle(RouteLayer.java:1903) 行 113585: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.autonavi.gbl.map.router.PrepareLayerStyleRouter.getLayerStyle(PrepareLayerStyleRouter.java:246) 行 113586: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.autonavi.gbl.map.layer.observer.impl.MapLayerObserverJNI.SwigDirector_IPrepareLayerStyleImpl_getLayerStyle(MapLayerObserverJNI.java:68) 行 113587: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.autonavi.gbl.layer.impl.IBizControlImpl.updateStyle1Native(Native Method) 行 113588: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.autonavi.gbl.layer.impl.IBizControlImpl.updateStyle(IBizControlImpl.java:246) 行 113589: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.autonavi.gbl.layer.BizControl.updateStyle(BizControl.java:434) 行 113590: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.RouteLayer.o2(RouteLayer.java:898) 行 113591: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.RouteLayer.C(Unknown Source:0) 行 113592: 07-23 15:06:33.089 3765 13230 W System.err :13230): at com.seres.service.navi.map.layers.route.impl.b1.run(Unknown Source:4) 行 113593: 07-23 15:06:33.089 3765 13230 W System.err :13230): at android.os.Handler.handleCallback(Handler.java:883) 行 113594: 07-23 15:06:33.089 3765 13230 W System.err :13230): at android.os.Handler.dispatchMessage(Handler.java:100) 行 113595: 07-23 15:06:33.090 3765 13230 W System.err :13230): at android.os.Looper.loop(Looper.java:214) 行 113596: 07-23 15:06:33.090 3765 13230 W System.err :13230): at android.os.HandlerThread.run(HandlerThread.java:67) 行 113597: 07-23 15:06:33.090 3765 13230 I System.out :13230): EXCEPTION : java.lang.NullPointerException: Attempt to read from field 'int androidx.constraintlayout.core.SolverVariable.id' on a null object reference
最新发布
07-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值