Android:将数字画在图片上合成一张图的两种实现方法(一)
来源:互联网 发布:数据课程设计设计思路 编辑:程序博客网 时间:2024/04/28 13:52
1 Bitmap,可以来自资源/文件,也可以在程序中创建,实际上的功能相当于图片的存储空间;
2 Canvas,紧密与Bitmap联系,把Bitmap比喻内容的话,那么Canvas就是提供了众多方法操作Bitamp的平台;
3 Paint,与Canvas紧密联系,是"画板"上的笔刷工具,也用于设置View控件上的样式;
4 Drawable,如果说前三者是看不见地在内存中画图(虚拟的),那么Drawable就是把前三者绘图结果表现出来的接口(真实的)。
Drawable多个子类,例如:位图(BitmapDrawable)、图形(ShapeDrawable)、图层(LayerDrawable)等。
<span style="font-size:14px;"> private Drawable initCounterResources(int count) { Drawable mCounterDrawable = null; Paint mPaint = null; if (mCounterDrawable == null) { mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mCounterDrawable = mActivity.getResources().getDrawable(R.drawable.notify); mPaint.setTextAlign(Paint.Align.CENTER); mPaint.setTypeface(Typeface.DEFAULT_BOLD); mPaint.setColor(Color.WHITE); } if (count < 10) { mPaint.setTextSize(DrawUtils.sp2px(16)); } else { mPaint.setTextSize(DrawUtils.sp2px(12)); } FontMetrics fontMetrics = mPaint.getFontMetrics(); Bitmap bitmapDrawable = ((BitmapDrawable) mCounterDrawable).getBitmap().copy(Bitmap.Config.ARGB_8888, true); int bitmapX = bitmapDrawable.getWidth(); int bitmapY = bitmapDrawable.getHeight(); Canvas canvas = new Canvas(bitmapDrawable); canvas.drawText(String.valueOf(count), bitmapX / 2, bitmapY / 2 + (fontMetrics.bottom - fontMetrics.top) / 4, mPaint); canvas.save(); return new BitmapDrawable(mActivity.getResources(), bitmapDrawable); }</span>
调用
<span style="font-size:14px;"> mPointMenuBmp = initCounterResources(mMessageCount); numText.setCompoundDrawablesWithIntrinsicBounds(null, null, mPointMenuBmp, null); numText.setVisibility(View.VISIBLE);</span>
0 0
- Android:将数字画在图片上合成一张图的两种实现方法(一)
- Android:将数字画在图片上合成一张图的两种实现方法(二)
- 用QImage创建合成的图片(一张图片堆叠在另一张图片上)
- 合成图片的两种方法
- 在Listview上展示图片的两种方法(一)
- 将文字放在图片上,并合成图
- 合成图片的两种方法,思路都是一样的
- 合成图片的两种方法,思路都是一样的
- java合成两张图片并在图片上写字
- Android之---ImagView显示图片(将一张图片按原图大小合理显示在imageView上,避免OOM)
- 在程序中如何把两张图片合成为一张图片
- 在程序中如何把两张图片合成为一张图片
- PHP 生成一张图片的两种方法
- 在一张图片上实现截图功能
- C#调用SAPI实现语音合成的两种方法
- 浅谈css中图片定位之所有图标放在一张图上(一)
- 14.9.29关于在图片下面做上一张与下一张按钮的android程序
- IOS两张图片合成为一张图片
- 技术资源
- 小技巧-UIScrollView手势的传递
- VMware 快捷键
- inb inw inl outb outw outl:端口操作
- 福布斯:历史上十大商业败笔
- Android:将数字画在图片上合成一张图的两种实现方法(一)
- JBPM4 下RepositoryService的用法
- Memcached1.4安装笔记
- EvenBus:Android应用组件之间高效通信的开发库
- CMake的简单例子
- GridControl控件和TreeList控件设置标志图
- Maximum Submatrix & Largest Rectangle
- eclipse的svn插件版本与svn客户端版本匹配情况
- uva 10099 The Tourist Guide nyoj 1019 亲戚来了【单个路线最大流【最短路算法】】