bitmap+文本生成新的bitmap的实现

packageinfo.ecloud.merchant.util;

importandroid.graphics.Bitmap;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.graphics.Rect;
importcom.google.zxing.BarcodeFormat;
importcom.google.zxing.EncodeHintType;
importcom.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
importcom.journeyapps.barcodescanner.BarcodeEncoder;
importjava.util.Hashtable;publicclassSaveImageUtils{privatestaticfinalStringCHARSET=”UTF-8″;/**
*生成图片加上title的图片
*@paramcontent
*@paramtitle
*@return*/publicstaticBitmapcreateImage(Stringcontent,Stringtitle){intpicWidth=520;//生成图片的宽度intpicHeight=565;//生成图片的高度inttitleTextSize=25;inttextColor=Color.BLACK;intqrWidth=370;intqrHeight=370;intpaddingTop=5;intpaddingMiddle=20;intpaddingBottom=20;//终究生成的图片Bitmapresult=Bitmap.createBitmap(picWidth,picHeight,Bitmap.Config.ARGB_8888);
Paintpaint=newPaint();
paint.setColor(Color.WHITE);
Canvascanvas=newCanvas(result);//先画一整块白色矩形块canvas.drawRect(0,0,picWidth,picHeight,paint);//画title文字Rectbounds=newRect();
paint.setColor(textColor);
paint.setTextSize(titleTextSize);//获取文字的字宽高,以便将文字与图片中心对齐paint.getTextBounds(title,0,title.length(),bounds);//画白色矩形块intqrTop=paddingTop+titleTextSize+paddingMiddle;//二维码的顶部高度//画二维码Hashtablehints=newHashtable<>();

Android


hints.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.H);
hints.put(EncodeHintType.CHARACTER_SET,CHARSET);
hints.put(EncodeHintType.MARGIN,5);
Bitmapimage=null;try{
BarcodeEncoderbarcodeEncoder=newBarcodeEncoder();
image=barcodeEncoder.encodeBitmap((String)content,BarcodeFormat.QR_CODE,400,400);
}catch(Exceptione){
e.printStackTrace();
}
paint.setColor(Color.BLACK);
canvas.drawBitmap(image,(picWidth-qrWidth)/2,qrTop,paint);//画文字paint.setColor(Color.BLACK);
paint.setTextSize(titleTextSize);intline=3;inttextTop=qrTop+qrHeight+paddingBottom;//地址的顶部高度for(inti=0;i<line;i++){
String[]split=title.split(“-“);
paint.getTextBounds(title,0,split[i].length(),bounds);
canvas.drawText(split[i],picWidth/2-bounds.width()/2,textTop+i*titleTextSize+i*5+bounds.height()/2,paint);
}
canvas.save();
canvas.restore();returnresult;
}
}

© 版权声明
好牛新坐标
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章