Android中实现绘制图片指定区域
2013-04-30 16:31
330 查看
目前,已经尝试过的方法有两种。
一。
个人认为,这种方法的好处就是,使用简单、方便。缺点就是,比较耗资源。createBitmap方法每次都会创建一个新的bitmap,那么,这种方法必然不会是最佳的方法。
二。
像上面说的,该方法不只是进行图片截取,也可以进行放大,缩小。
另:在网上还看到一种方法,canvas.clipRect()。因为这种方法自己没测试过。所以 暂时忽略。
一。
//getImage()是自己将decodeResource包装了一下。 //返回值为Bitmap Bitmap bitmap = getImage(R.drawable.explosion2); //createBitmap(Bitmap source, int x, int y, int width, int height) //source:就不用说了,需要画上去的bitmap //x:这里指的是 画上去的x轴位置 //y:这里指的是画上去的y轴位置 //width:要截取的图片区域的宽度 //height:要截取的图片区域的高度 Bitmap tmp = Bitmap.createBitmap(bitmap, 0, 0, 45, 45); canvas.drawBitmap(tmp, x, y, paint);
个人认为,这种方法的好处就是,使用简单、方便。缺点就是,比较耗资源。createBitmap方法每次都会创建一个新的bitmap,那么,这种方法必然不会是最佳的方法。
二。
Bitmap bitmap = getImage(R.drawable.explosion2); /** * 这个矩形,是指图片中需要截取的部分 * @param left:表示从左边的x个像素开始 * @param top:从顶点向下的x个像素开始 * @param right:矩形区域的右边框 * @param bottom:矩形区域的底边框 * */ Rect src = new Rect(0,0,45,45); /** * 这个区域指的是,将src的矩形,画在当前指定的矩形框中。 * 如果src和des矩形大小不一致,则会将src中的内容进行相应的放大,缩小。 * 参数同src矩形 * */ Rect des = new Rect((int)x,(int)y,(int)x+45,(int)y+45); canvas.drawBitmap(bitmap, src, des, paint);
像上面说的,该方法不只是进行图片截取,也可以进行放大,缩小。
另:在网上还看到一种方法,canvas.clipRect()。因为这种方法自己没测试过。所以 暂时忽略。
相关文章推荐
- Android实现扫一扫功能之绘制指定区域透明区域
- Android实现bitmap指定区域滑动截取
- Android使用BitmapRegionDecoder获取指定区域的图片
- 用android来实现图片的绘制以及旋转缩放案例分析
- [置顶] Android DIY之路 (一) 指定区域多图片合成 放大 缩小 镜像 旋转 等
- Android摄像头:只拍摄SurfaceView预览界面特定区域内容(矩形框)---完整实现(原理:底层SurfaceView+上层绘制ImageView)
- jQuery 实现改变图片指定区域的颜色
- Android实战: 如何实现 图片分享菜单加入指定程序
- Android实现指定区域截屏的实现
- javascript 指定区域内图片等比例缩放实现代码 脚本之家整合版 原创
- Android中实现截图保存到指定目录或者系统图片,并支持批量删除
- android中使用Canvas绘制指定位置和宽高度的图片
- Android2.3使用BitmapRegionDecoder获取指定区域的图片
- Android实现图片区域裁剪功能
- Android实现从SD卡指定路径获取图片进行轮播
- 微信小程序实现图片放大缩小,并截取指定区域图片
- Android实现指定区域截屏的实现
- Android开发:SurfaceView上新建线程绘制旋转图片 及 刷新特定区域(脏矩形)
- Android通过手势实现图片按照指定路径移动
- Android实战: 如何实现 图片分享菜单加入指定程序