android图片上添加文字

来源:互联网 发布:淘宝无敌辣妈真假 编辑:程序博客网 时间:2024/05/05 03:10

1. 效果图


原图:

2.主要代码

public class MainActivity extends Activity {ImageView img;private Bitmap imgMarker;private int width,height;   //图片的高度和宽带private Bitmap imgTemp;  //临时标记图@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);img = (ImageView) findViewById(R.id.imt_test);imgMarker = BitmapFactory.decodeResource(getResources(), R.drawable.icon_tag);width = imgMarker.getWidth();height = imgMarker.getHeight();img.setBackgroundDrawable(createDrawable('A'));}// 穿件带字母的标记图片private Drawable createDrawable(char letter) {imgTemp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(imgTemp);Paint paint = new Paint(); // 建立画笔paint.setDither(true);paint.setFilterBitmap(true);Rect src = new Rect(0, 0, width, height);Rect dst = new Rect(0, 0, width, height);canvas.drawBitmap(imgMarker, src, dst, paint);Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG| Paint.DEV_KERN_TEXT_FLAG);textPaint.setTextSize(20.0f);textPaint.setTypeface(Typeface.DEFAULT_BOLD); // 采用默认的宽度textPaint.setColor(Color.WHITE);canvas.drawText(String.valueOf(letter), width /2-5, height/2+5,textPaint);canvas.save(Canvas.ALL_SAVE_FLAG);canvas.restore();return (Drawable) new BitmapDrawable(getResources(), imgTemp);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}

测试通过,可以使用

源码下载地址: 点击打开链接





原创粉丝点击