Android 自定义View(三) Canvas中的Canvas Bitmap
2016-06-17 16:46
477 查看
在自定义View中经常需要创建一块固定大小的画布去画一些元素,我们不能直接创建这块画布,那应该怎么做呢?
创建一个固定大小的位图
位图和画布(Canva)关联
在画布上添加各种元素
//Drawable转化为Bitmap方法
//创建圆形图片方法
这两段代码大同小异
第一段是把资源文件通过Canvas绘制到Bitmap上
第二段使用Canvas吧元素绘制出来
-------------------------------------
上面两段分别有一个不同的Canvas怎么把这个Canvas添加到
在这个重写的方法中,已经有了canvas,对于自己创建的Canvas如何添加到试图
不要忘记 自己定义的Canvas已经和Bitmap关联了,只需要调用
canvas.drawBitmap(......);
创建一个固定大小的位图
位图和画布(Canva)关联
在画布上添加各种元素
//Drawable转化为Bitmap方法
Bitmap srcBitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); Canvas srcCanvas = new Canvas(srcBitmap); src.draw(srcCanvas); //src是Drawable类型
//创建圆形图片方法
private Bitmap createCircleImage(Bitmap source, int min) { final Paint paint = new Paint(); paint.setAntiAlias(true); Bitmap target = Bitmap.createBitmap(min, min, Bitmap.Config.ARGB_8888); /** * 产生一个同样大小的画布 */ Canvas canvas = new Canvas(target); /** * 首先绘制圆形 */ canvas.drawCircle(min / 2, min / 2, min / 2-2, paint); /** * 使用SRC_IN */ paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); /** * 绘制图片 */ canvas.drawBitmap(source, 0, 0, paint); //在自己定义的canvas想把Bitmap画在canvas上 return target; }
这两段代码大同小异
第一段是把资源文件通过Canvas绘制到Bitmap上
第二段使用Canvas吧元素绘制出来
-------------------------------------
上面两段分别有一个不同的Canvas怎么把这个Canvas添加到
@Override protected void onDraw(Canvas canvas)
在这个重写的方法中,已经有了canvas,对于自己创建的Canvas如何添加到试图
Canvas canvas = new Canvas(target);
不要忘记 自己定义的Canvas已经和Bitmap关联了,只需要调用
drawBitmap(@NonNull Bitmap bitmap, float left, float top, @Nullable Paint paint)
canvas.drawBitmap(......);
相关文章推荐
- Android应用程序的基本组件介绍
- 设置高德地图在Fragment中显示
- 调用 android 自身裁剪功能
- Android Parcelable
- AndroidStudio开发百度地图(一)
- android第三方折线图库MPAndroidChart的使用
- 安卓动态调试七种武器之离别钩 – Hooking(上)
- [Android官方Demo系列] Displayprogressnotify进度条通知
- # Android中的任务和返回栈总结
- 上期ctp期货API android 客户端
- Android 检测手机IMEI值
- Android-蓝牙详解【占坑中】
- android字符串规定字符变色
- Android-自定义快速开发框架【占坑中】
- Android-自定义异步任务下载框架【占坑中】
- android:自定义绚丽的加载动画
- Android-自定义数据库框架【占坑中】
- 全沾工程师----如何一个人写完web、Android、iOS、接口、CMS
- Android-代码混淆【占坑中】
- Android-性能优化之布局优化【占坑中】